JavaScript Navigator vendor Property

Beginner
⏱️ 8 min read
📚 Updated: Jul 2026
🎯 5 Examples
🚀 5 Try-it labs
Baseline

What You’ll Learn

navigator.vendor is a Baseline Navigator string. Per MDN it is always "Google Inc.", "Apple Computer, Inc.", or (in Firefox) "". Learn the three values, why sniffing is weak, five examples, and better alternatives.

01

Kind

Read-only property

02

Returns

string

03

Baseline

Widely available

04

Chromium

"Google Inc."

05

Safari

"Apple Computer, Inc."

06

Firefox

Empty string

Introduction

The name vendor sounds like a marketing brand label for the browser maker. In practice, MDN documents only three possible values — not a free-form company name for every browser on Earth.

  • "Google Inc." — typical for Chromium-based browsers (Chrome, Edge, Opera, …)
  • "Apple Computer, Inc." — typical for Safari
  • "" (empty string) — Firefox
💡
Beginner tip

Seeing "Google Inc." does not prove you are on Google Chrome. Microsoft Edge and other Chromium browsers often report the same vendor string.

Learn vendor for Navigator trivia and legacy code — then prefer feature detection for real application logic.

Understanding the vendor Property

vendor is a read-only string on Navigator. It is coarser than a full User-Agent parse and weaker than capability checks.

  • Always one of the three MDN-documented values in mainstream browsers.
  • Chromium family shares "Google Inc." — poor brand ID.
  • Firefox intentionally returns an empty string.
  • Related legacy labels: product, appName, appCodeName.
  • Related modern path for structured hints: userAgentData (experimental / limited).

📝 Syntax

General form of the property:

JavaScript
navigator.vendor

Value

  • "Google Inc.", "Apple Computer, Inc.", or "" (Firefox).

Common patterns

JavaScript
console.log(navigator.vendor);
// Chrome / Edge (example): "Google Inc."
// Safari (example): "Apple Computer, Inc."
// Firefox (example): ""

function describeVendor(v) {
  if (v === "Google Inc.") return "Chromium-family vendor string";
  if (v === "Apple Computer, Inc.") return "Apple vendor string";
  if (v === "") return "Empty (Firefox-style)";
  return "Unexpected value: " + JSON.stringify(v);
}

console.log(describeVendor(navigator.vendor));

// Prefer feature detection for real features:
if ("serviceWorker" in navigator) {
  // safe to use service workers
}

⚡ Quick Reference

GoalCode
Read vendornavigator.vendor
Chromium-family checknavigator.vendor === "Google Inc."
Apple checknavigator.vendor === "Apple Computer, Inc."
Firefox-style emptynavigator.vendor === ""
Typetypeof navigator.vendor // "string"
Identify Chrome vs Edge?No — both often say Google Inc.
Better approachFeature detection on APIs

🔍 At a Glance

Four facts to remember about navigator.vendor.

Kind
string

Read-only

Values
3 options

Per MDN

Status
Baseline

Since Jul 2015

Sniffing
weak

Prefer detect

📋 Typical vendor Values by Browser Family

Browser familyTypical navigator.vendorNote
Chrome / Edge / Opera (Chromium)"Google Inc."Shared string — not Chrome-only
Safari"Apple Computer, Inc."Apple vendor label
Firefox""Empty string per MDN
Feature detectionN/ABest for real capabilities

Examples Gallery

Examples follow MDN navigator.vendor behavior. Prefer Try It Yourself — your value depends on the browser family.

📚 Getting Started

Read the string and map it to the three MDN cases.

Example 1 — Read vendor

Log the current value.

JavaScript
console.log(navigator.vendor);
Try It Yourself

How It Works

MDN: the value is always one of those three options in mainstream browsers.

Example 2 — Map the Three Known Values

Label the result without pretending it uniquely names Chrome.

JavaScript
const v = navigator.vendor;
let label;
if (v === "Google Inc.") {
  label = "Chromium-family vendor string (not Chrome-only)";
} else if (v === "Apple Computer, Inc.") {
  label = "Apple vendor string";
} else if (v === "") {
  label = "Empty string (Firefox-style)";
} else {
  label = "Unexpected: " + JSON.stringify(v);
}
console.log("vendor: " + JSON.stringify(v));
console.log(label);
Try It Yourself

How It Works

Teaching the three MDN cases helps beginners avoid over-interpreting the string.

📈 Practical Patterns

Type checks, related legacy labels, and feature detection.

Example 3 — Type and Length

Confirm it is a string (including the empty Firefox case).

JavaScript
const v = navigator.vendor;
const lines = [
  "value: " + JSON.stringify(v),
  "typeof: " + typeof v,
  "length: " + v.length
];
console.log(lines.join("\n"));
Try It Yourself

How It Works

An empty string is still a string — typeof stays "string" and length is 0.

Example 4 — Legacy Label Family

Compare vendor with other Navigator identification strings.

JavaScript
const lines = [
  "vendor: " + JSON.stringify(navigator.vendor),
  "product: " + navigator.product,
  "appCodeName: " + navigator.appCodeName,
  "appName: " + navigator.appName
];
console.log(lines.join("\n"));
console.log("Prefer feature detection for real app logic.");
Try It Yourself

How It Works

Seeing this family together shows how many Navigator labels are historical compatibility strings.

Example 5 — Prefer Feature Detection

Keep vendor for learning; use capability checks for features.

JavaScript
const lines = [];
lines.push(
  "vendor: " + JSON.stringify(navigator.vendor) + " — weak brand signal"
);
lines.push(
  "serviceWorker: " +
    ("serviceWorker" in navigator ? "available" : "missing") +
    " — use this for features"
);
console.log(lines.join("\n"));
Try It Yourself

How It Works

Same lesson as userAgent / product: capabilities beat brand labels.

🚀 Common Use Cases

  • Learning Navigator history — understand the three MDN values.
  • Legacy code review — spot scripts that branch on vendor === "Google Inc.".
  • Debugging notes — include vendor in support logs as a coarse hint.
  • Not for Chrome-vs-Edge detection — both often share the same string.
  • Not for feature gates — detect APIs instead.

🧠 How navigator.vendor Works

1

Browser exposes a vendor string

One of the few documented values (or empty in Firefox).

Expose
2

Your script reads it

navigator.vendor returns that string immediately.

Read
3

Chromium browsers look alike

Shared "Google Inc." makes brand sniffing unreliable.

Shared
4

Apps detect features instead

Check APIs / CSS support rather than vendor labels.

📝 Notes

  • Baseline Widely available (MDN, since July 2015).
  • Not Deprecated, Experimental, or Non-standard — no status banner required.
  • Always "Google Inc.", "Apple Computer, Inc.", or "" (Firefox) per MDN.
  • Read-only string on Navigator.
  • Related: vendorSub, product, userAgent, userAgentData.

Universal Browser Support

navigator.vendor is Baseline Widely available across modern browsers (MDN: since July 2015). Values differ by engine family — Chromium often returns "Google Inc.", Safari "Apple Computer, Inc.", Firefox "".

Baseline · Widely available

Navigator.vendor

A short vendor string with only a few documented values. Useful for learning — weak for precise brand detection.

Universal Widely available
Google Chrome Typically "Google Inc." · Desktop & Mobile
Full support
Microsoft Edge Typically "Google Inc." (Chromium) · Desktop
Full support
Opera Typically "Google Inc." (Chromium)
Full support
Apple Safari Typically "Apple Computer, Inc." · macOS & iOS
Full support
Mozilla Firefox Empty string "" · Desktop & Mobile
Full support
Internet Explorer Legacy support for the vendor string
Full support
vendor Excellent

Bottom line: Read navigator.vendor to learn the three MDN cases, then ignore it for real feature decisions.

Conclusion

navigator.vendor is a Baseline string with a tiny set of documented values: Google Inc., Apple Computer, Inc., or empty in Firefox. Learn it for Navigator literacy, remember Chromium browsers share the Google string, and prefer feature detection for apps.

Continue with vendorSub, product, or the JavaScript hub.

💡 Best Practices

✅ Do

  • Expect only the three MDN-documented cases
  • Treat "Google Inc." as Chromium-family, not Chrome-only
  • Remember Firefox may return ""
  • Use feature detection for capabilities
  • Use vendor only as a coarse log hint

❌ Don’t

  • Gate features on vendor === "Google Inc."
  • Assume Edge is not Chromium because of branding
  • Confuse empty string with a missing property
  • Assign to navigator.vendor
  • Ignore better options like capability checks

Key Takeaways

Knowledge Unlocked

Five things to remember about vendor

Three MDN values — shared Chromium string, empty Firefox, prefer feature detection.

5
Core concepts
💻 02

Chromium

Google Inc.

Shared
📱 03

Safari

Apple Computer

Apple
🚫 04

Firefox

empty ""

MDN
🎯 05

Prefer

feature detect

Best

❓ Frequently Asked Questions

Per MDN, the value is always either "Google Inc.", "Apple Computer, Inc.", or (in Firefox) the empty string.
No. MDN marks it Baseline Widely available (since July 2015). It is not Deprecated, Experimental, or Non-standard.
Chrome, Edge, Opera, and other Chromium-based browsers typically return "Google Inc.".
Safari typically returns "Apple Computer, Inc.".
MDN documents that Firefox returns the empty string for navigator.vendor.
It is a weak signal. Prefer feature detection for capabilities. Edge also reports "Google Inc.", so vendor alone cannot identify a brand reliably.
Did you know?

Microsoft Edge is Chromium-based, so it commonly reports navigator.vendor === "Google Inc." just like Chrome. That single fact is why vendor sniffing cannot separate Edge from Chrome reliably.

Learn vendorSub Next

Baseline companion field — always empty in every browser.

vendorSub →

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.

8 people found this page helpful