navigator.buildID is a non-standard Navigator property that returns a build identifier string (historically YYYYMMDDHHMMSS). Learn feature detection, privacy fixed values in modern Firefox, why sniffing fails, five examples, and try-it labs.
01
Kind
Read-only property
02
Returns
String (when present)
03
Status
Non-standard
04
Format
YYYYMMDDHHMMSS
05
Privacy
Often fixed
06
Production?
Avoid relying
Fundamentals
Introduction
Some browsers historically exposed a build ID — a timestamp-like string that identified when that browser binary was built. That value lived on navigator.buildID.
MDN notes the property is non-standard (not part of a public standard) and that modern browsers may return a fixed timestamp as a privacy measure. In Firefox 64+, that example value is 20181001000000.
💡
Privacy-fixed values
Even where buildID exists, modern Firefox returns a fixed string such as 20181001000000. Treat the Non-standard banner above as the status signal — this property is for learning, not production sniffing.
Concept
Understanding the buildID Property
When present, buildID is a read-only string. The documented shape is YYYYMMDDHHMMSS (year, month, day, hour, minute, second).
Missing in many browsers (especially Chromium / Safari).
Where present (commonly Firefox), the value may be a privacy constant.
Useless for fingerprinting or precise version detection today.
Always feature-detect with "buildID" in navigator.
Foundation
📝 Syntax
General form of the property:
JavaScript
navigator.buildID
Value
A string representing a build identifier (form YYYYMMDDHHMMSS), when supported.
May be a fixed privacy placeholder in modern Firefox (for example 20181001000000).
Common patterns
JavaScript
if ("buildID" in navigator) {
console.log(navigator.buildID);
} else {
console.log("buildID not supported");
}
// Do not use for feature branching — prefer:
if ("serviceWorker" in navigator) {
// …
}
Cheat Sheet
⚡ Quick Reference
Goal
Code
Feature detect
"buildID" in navigator
Read value
navigator.buildID
Expected shape
YYYYMMDDHHMMSS (14 digits)
Firefox privacy example
"20181001000000"
Sniff build?
No — unreliable
Better approach
Feature detection
Snapshot
🔍 At a Glance
Four facts to remember about buildID.
Type
string
When present
Status
non-standard
No public spec
Privacy
fixed?
Often constant
Use for
learning
Not sniffing
Compare
📋 buildID vs other Navigator strings
buildID
appVersion
appName
Standard?
Non-standard
Legacy / widely present
Legacy fixed value
Typical value
Timestamp-like / fixed
Varies by browser
Always "Netscape"
Everywhere?
No
Mostly yes
Yes
Sniffing?
Avoid
Avoid
Avoid
Hands-On
Examples Gallery
Examples follow MDN Navigator.buildID behavior with safe detection. Use View Output or Try It Yourself for each case.
buildID not supported
(or a string like 20181001000000 in Firefox)
How It Works
Always branch on detection so demos stay clear on unsupported browsers.
📈 Practical Patterns
Format checks, privacy constants, and better alternatives.
Example 3 — Check Timestamp Shape
Documented form is 14 digits: YYYYMMDDHHMMSS.
JavaScript
function describeBuildId() {
if (!("buildID" in navigator)) return "missing";
const id = String(navigator.buildID);
const ok = /^\d{14}$/.test(id);
return "value=" + id + "; looksLikeYYYYMMDDHHMMSS=" + ok;
}
console.log(describeBuildId());
navigator.buildID is non-standard and not universally implemented. It is most associated with Firefox; Chromium and Safari typically omit it. Where present, the value may be a privacy-fixed constant.
✓ Non-standard · Limited
Navigator.buildID
Safe to explore for learning. Do not rely on it for production feature branching.
LimitedNon-standard
Mozilla FirefoxMay expose buildID (often privacy-fixed since 64+)
Limited
Google ChromeTypically no navigator.buildID
Unavailable
Microsoft EdgeTypically no navigator.buildID
Unavailable
Apple SafariTypically no navigator.buildID
Unavailable
OperaTypically no navigator.buildID
Unavailable
Internet ExplorerNot a modern Web API target
Unavailable
buildIDLimited
Bottom line: Feature-detect if you must read buildID. Prefer API feature detection for real application logic.
Wrap Up
Conclusion
navigator.buildID is a non-standard build-identifier string with limited support. Modern browsers may freeze it for privacy. Learn it for Navigator trivia — then ignore it for real feature decisions.
Non-standard build string — often missing or privacy-fixed.
5
Core concepts
📄01
Returns
string?
Value
🚩02
Status
non-standard
Caution
📅03
Shape
YYYYMMDDHHMMSS
Format
🔒04
Privacy
may be fixed
Firefox
✅05
Prefer
feature detect
Modern
❓ Frequently Asked Questions
A string meant to be the browser's build identifier, historically in the form YYYYMMDDHHMMSS. The property is non-standard and not available in every browser.
MDN marks it Non-standard (not part of a public standard). It is not labeled Deprecated or Experimental on MDN. Prefer not to rely on it in production.
For privacy, modern Firefox returns a fixed timestamp instead of a unique build ID that could help fingerprint users (from Firefox 64 onward, per MDN).
No — not reliably. Missing in many browsers, and where present it may be a constant privacy placeholder rather than a real unique build stamp.
No. It is a read-only Navigator property when it exists.
Feature detection for APIs you need. Do not use buildID for version sniffing or fingerprinting.
Did you know?
A unique build ID could help sites tell different Firefox installs apart. Freezing it to 20181001000000 makes millions of users look the same for that signal — a deliberate privacy trade-off.