JavaScript Navigator appName Property

Beginner
5 min read
Updated: Nov 2026
3 examples
Property

Definition

navigator.appName is a read-only string that is always "Netscape" in any browser (MDN). It is kept only for compatibility with very old scripts.

Read the notes below before you rely on this property. Prefer feature detection when support is limited.

Syntax

Use navigator.appName. Start with this line.

JavaScript
navigator.appName
CallWhat it does
navigator.appNamePrimary signature.

Built into the browser. Read navigator.appName on Navigator — no import required.

Library declarations
JavaScript
navigator.appName

Parameters

This member has no parameters beyond those shown in the signature.

Return Value

Return ValueDescription
*The current value of navigator.appName.

JavaScript Examples

Example 1 — Read appName

Log the compatibility string from navigator.

JavaScript
console.log(navigator.appName); // "Netscape"
Try It Yourself

How It Works

  1. Access navigator. The browser exposes environment info on navigator.
  2. Read the property. appName is a string getter.
  3. See the value. MDN: it is always "Netscape".
  4. No side effects. Reading it does not change the browser or page.

Example 2 — Prove It Is Always Netscape

Compare the value to the string MDN documents.

JavaScript
const name = navigator.appName;
console.log(name);
console.log(name === "Netscape"); // true in every browser
Try It Yourself

How It Works

  1. Store the string. Capture appName once.
  2. Strict compare. Check equality with "Netscape".
  3. Result. The comparison is true across engines.
  4. Lesson. You cannot tell browsers apart with this check.

Example 3 — Pair with appCodeName

Both legacy strings are fixed — useful only as a history lesson.

JavaScript
console.log(navigator.appName);     // "Netscape"
console.log(navigator.appCodeName); // "Mozilla"

// Avoid sniffing with either value — prefer feature detection instead.
if ("geolocation" in navigator) {
  console.log("geolocation available");
}
Try It Yourself

How It Works

  1. Read both names. appName and appCodeName are the classic pair.
  2. See the fixed values. Netscape + Mozilla everywhere.
  3. Skip sniffing. Neither string identifies Chrome vs Firefox.
  4. Feature detect. Branch on a real API like geolocation instead.

Browser Support

navigator.appName is marked Baseline Widely available on MDN (since July 2015). Support is universal — the value is always "Netscape".

✓ Baseline · Widely available

Navigator.appName

Read-only string that always returns "Netscape". Available everywhere for compatibility; not useful for identifying browsers.

100% Widely available
Google Chrome All versions · Desktop & Mobile
Full support
Mozilla Firefox All versions · Desktop & Mobile
Full support
Apple Safari All versions · macOS & iOS
Full support
Microsoft Edge All versions · Chromium & Legacy
Full support
Internet Explorer IE 6+ · Legacy environments
Full support
Opera All modern versions
Full support
appName Excellent

Bottom line: Safe to read for demos and legacy understanding. Never use it for browser detection — prefer feature detection for real product decisions.

Frequently Asked Questions

In every modern browser it returns the string "Netscape". The property exists only for historical compatibility with very old scripts.
No. MDN warns not to rely on it for a real browser name. Chrome, Edge, Safari, Firefox, and others all report "Netscape".
Early sites sniffed for Netscape. Other browsers reported the same name so those pages would still work. The habit stuck as a compatibility value.
Both are fixed legacy strings. appCodeName is always "Mozilla"; appName is always "Netscape". Neither identifies today’s browser brand.
No. It is a read-only Navigator property. You read it; you do not assign a new value.
MDN does not mark it Deprecated — it is Baseline Widely available and kept for compatibility. Still, do not use it to identify browsers.

Next: appVersion

Learn the related Navigator appVersion compatibility property.

appVersion tutorial →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

7 people found this page helpful