hints / ua · opt-in
Sec-CH-UA-Bitness
Sec-CH-UA-Bitness reports whether the browser is a 32-bit or 64-bit build, the second half of picking the right binary download, behind an Accept-CH opt-in.
- Example
Sec-CH-UA-Bitness: "64"- JavaScript
getHighEntropyValues(['bitness'])- Available since
- Chrome 90 (2021)
- Engines
- Chrome Edge Opera Firefox Safari
- References
- MDN · Specification
Sec-CH-UA-Bitness is the companion to Sec-CH-UA-Arch: where Arch says which instruction set, Bitness says how wide: "64" or "32", as a quoted string.
Accept-CH: Sec-CH-UA-Arch, Sec-CH-UA-Bitness
Sec-CH-UA-Arch: "x86"
Sec-CH-UA-Bitness: "64" When you actually need it
In 2026, "64" is the overwhelming answer on every desktop platform, so the interesting signal is the exception: a "32" from a Windows machine tells your download page to serve the legacy x86 installer rather than the x64 one. That single decision, still relevant for long-tail enterprise fleets, is essentially the whole reason this header exists.
Note the subtlety that the value describes the browser build, not the OS: 32-bit Chrome on 64-bit Windows reports "32". If you need to untangle that specific case, that is exactly what Sec-CH-UA-WoW64 encodes.
In JavaScript
const { bitness } = await navigator.userAgentData
.getHighEntropyValues(['bitness']);
// "64" | "32" Server-side use
Combine platform, architecture and bitness for a complete download matrix:
| Platform | Arch | Bitness | Serve |
|---|---|---|---|
"Windows" | "x86" | "64" | app-win-x64.exe |
"Windows" | "x86" | "32" | app-win-x86.exe |
"Windows" | "arm" | "64" | app-win-arm64.exe |
"macOS" | "arm" | "64" | app-mac-arm64.dmg |
"macOS" | "x86" | "64" | app-mac-intel.dmg |
As with every opt-in hint: Chromium only, no Firefox or Safari, so keep the architecture dropdown visible as a fallback.