What is platformVersion in Chrome and how is it represented in different operating systems
platformVersion is one of the variables that can be obtained via the User-Agent Client Hints API in the Chrome browser. It provides information about the version of the operating system on which the browser is running. This variable is available:
- In the Sec-CH-UA-Platform-Version HTTP header (if the server requested it via Accept-CH)
- Via the JavaScript function navigator.userAgentData.getHighEntropyValues([‘platformVersion’])
How platformVersion works on macOS
On macOS, platformVersion returns the familiar operating system version, for example:
"14.0.0" → macOS Sonoma
"13.5.0" → macOS Ventura
This corresponds to official macOS releases and is easily interpreted by developers and analytics systems.
How platformVersion works on Windows
On Windows, it's more complicated. Chrome uses internal numbering that does not directly correspond to the marketing names of the OS:
platformVersion version | Interpretation |
---|---|
13.0.0 and above | Windows 11 |
1.0.0 - 10.x.x | Windows 10 |
0.x.x | Windows 7 / 8 / 8.1 |
For example, if you receive platformVersion: «13.0.0», it means that the user is running Windows 11. This scheme was introduced to simplify OS version identification.
Code example:
navigator.userAgentData.getHighEntropyValues(["platformVersion"]) .then(
ua => {
const major = parseInt(ua.platformVersion.split('.')[0]);
if (major >= 13) {
console.log("Windows 11 or later");
}
else if (major >= 10) {
console.log("Windows 10");
} else {
console.log("Old version of Windows");
}
}
);