Example 1 — Read vendor
Log the current value.
console.log(navigator.vendor); How It Works
MDN: the value is always one of those three options in mainstream browsers.

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.
Read-only property
string
Widely available
"Google Inc."
"Apple Computer, Inc."
Empty string
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) — FirefoxSeeing "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.
vendor Propertyvendor is a read-only string on Navigator. It is coarser than a full User-Agent parse and weaker than capability checks.
"Google Inc." — poor brand ID.product, appName, appCodeName.userAgentData (experimental / limited).General form of the property:
navigator.vendor "Google Inc.", "Apple Computer, Inc.", or "" (Firefox).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
} | Goal | Code |
|---|---|
| Read vendor | navigator.vendor |
| Chromium-family check | navigator.vendor === "Google Inc." |
| Apple check | navigator.vendor === "Apple Computer, Inc." |
| Firefox-style empty | navigator.vendor === "" |
| Type | typeof navigator.vendor // "string" |
| Identify Chrome vs Edge? | No — both often say Google Inc. |
| Better approach | Feature detection on APIs |
Four facts to remember about navigator.vendor.
stringRead-only
3 optionsPer MDN
BaselineSince Jul 2015
weakPrefer detect
vendor Values by Browser Family| Browser family | Typical navigator.vendor | Note |
|---|---|---|
| Chrome / Edge / Opera (Chromium) | "Google Inc." | Shared string — not Chrome-only |
| Safari | "Apple Computer, Inc." | Apple vendor label |
| Firefox | "" | Empty string per MDN |
| Feature detection | N/A | Best for real capabilities |
Examples follow MDN navigator.vendor behavior. Prefer Try It Yourself — your value depends on the browser family.
Read the string and map it to the three MDN cases.
vendorLog the current value.
console.log(navigator.vendor); MDN: the value is always one of those three options in mainstream browsers.
Label the result without pretending it uniquely names Chrome.
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); Teaching the three MDN cases helps beginners avoid over-interpreting the string.
Type checks, related legacy labels, and feature detection.
Confirm it is a string (including the empty Firefox case).
const v = navigator.vendor;
const lines = [
"value: " + JSON.stringify(v),
"typeof: " + typeof v,
"length: " + v.length
];
console.log(lines.join("\n")); An empty string is still a string — typeof stays "string" and length is 0.
Compare vendor with other Navigator identification strings.
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."); Seeing this family together shows how many Navigator labels are historical compatibility strings.
Keep vendor for learning; use capability checks for features.
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")); Same lesson as userAgent / product: capabilities beat brand labels.
vendor === "Google Inc.".navigator.vendor WorksOne of the few documented values (or empty in Firefox).
navigator.vendor returns that string immediately.
Shared "Google Inc." makes brand sniffing unreliable.
Check APIs / CSS support rather than vendor labels.
"Google Inc.", "Apple Computer, Inc.", or "" (Firefox) per MDN.Navigator.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 "".
A short vendor string with only a few documented values. Useful for learning — weak for precise brand detection.
Bottom line: Read navigator.vendor to learn the three MDN cases, then ignore it for real feature decisions.
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.
"Google Inc." as Chromium-family, not Chrome-only""vendor === "Google Inc."navigator.vendorvendorThree MDN values — shared Chromium string, empty Firefox, prefer feature detection.
string
ValueGoogle Inc.
SharedApple Computer
Appleempty ""
MDNfeature detect
BestMicrosoft 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.
Baseline companion field — always empty in every browser.
8 people found this page helpful