Chrome user agent strings
The User-Agent and Sec-CH-UA headers the current Chrome sends on every platform, the list for every recent version, and a generator. Computed the way Chromium computes them, and checked against real Chrome 152, 153, 154.
- Current stable
- Chrome 154, since September 22, 2026
- Full version
- 154.0.8037.58 (Windows)154.0.8037.58 (Mac)154.0.8037.57 (Linux)154.0.8037.58 (Android)
- Next release
- Chrome 155, stable October 6, 2026early rollout from September 23, 2026
From Google's Chromium Dash, checked every six hours.
Chrome 154 user agent on every platform
| Platform | User-Agent | Platform / Mobile hints | Copy |
|---|---|---|---|
| Windows | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36 | "Windows" / ?0 | |
| macOS | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36 | "macOS" / ?0 | |
| Linux | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36 | "Linux" / ?0 | |
| ChromeOS | Mozilla/5.0 (X11; CrOS x86_64 14541.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36 | "Chrome OS" / ?0 | |
| Android (phone) | Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Mobile Safari/537.36 | "Android" / ?1 | |
| Android (tablet) | Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36 | "Android" / ?0 | |
| Headless (Linux) | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/154.0.0.0 Safari/537.36 | "Linux" / ?0 |
On every platform, Chrome 154 also sends Sec-CH-UA: "Chromium";v="154", "Google Chrome";v="154", "Not A(Brand";v="99", and when a site asks for it, Sec-CH-UA-Full-Version-List: "Chromium";v="154.0.8037.58", "Google Chrome";v="154.0.8037.58", "Not A(Brand";v="99.0.0.0" (Windows build 154.0.8037.58).
Generate the headers for any version
Pick a version, platform and browser; the headers follow Chromium's own rules, including the ones for versions not released yet.
- User-Agent
- Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36
- Sec-CH-UA
- "Chromium";v="154", "Google Chrome";v="154", "Not A(Brand";v="99"
- Sec-CH-UA-Mobile
- ?0
- Sec-CH-UA-Platform
- "Windows"
GREASE for Chrome 154: Not A(Brand, version 99 (99.0.0.0 in Sec-CH-UA-Full-Version-List). Setting these headers alone does not make a browser look like Chrome 154: navigator.userAgentData, workers and the rest of the engine keep telling their own story, which is what the user agent checker compares.
Sec-CH-UA by Chrome version
The brand list Chrome sends, version by version. The same list serves Microsoft Edge and Brave with their own name in place of Google Chrome. Versions marked measured were read from real builds on the Chrome release pages; the rest are computed.
| Chrome | Sec-CH-UA | Source |
|---|---|---|
| 156upcoming | "Not:A-Brand";v="8", "Chromium";v="156", "Google Chrome";v="156" | computed |
| 155upcoming | "Google Chrome";v="155", "Chromium";v="155", "Not(A:Brand";v="24" | computed |
| 154current | "Chromium";v="154", "Google Chrome";v="154", "Not A(Brand";v="99" | measured |
| 153 | "Google Chrome";v="153", "Not_A Brand";v="8", "Chromium";v="153" | measured |
| 152 | "Chromium";v="152", "Not?A_Brand";v="24", "Google Chrome";v="152" | measured |
| 151 | "Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151" | computed |
| 150 | "Not;A=Brand";v="8", "Chromium";v="150", "Google Chrome";v="150" | computed |
| 149 | "Google Chrome";v="149", "Chromium";v="149", "Not)A;Brand";v="24" | computed |
| 148 | "Chromium";v="148", "Google Chrome";v="148", "Not/A)Brand";v="99" | computed |
| 147 | "Google Chrome";v="147", "Not.A/Brand";v="8", "Chromium";v="147" | computed |
| 146 | "Chromium";v="146", "Not-A.Brand";v="24", "Google Chrome";v="146" | computed |
| 145 | "Not:A-Brand";v="99", "Google Chrome";v="145", "Chromium";v="145" | computed |
| 144 | "Not(A:Brand";v="8", "Chromium";v="144", "Google Chrome";v="144" | computed |
| 143 | "Google Chrome";v="143", "Chromium";v="143", "Not A(Brand";v="24" | computed |
| 142 | "Chromium";v="142", "Google Chrome";v="142", "Not_A Brand";v="99" | computed |
| 141 | "Google Chrome";v="141", "Not?A_Brand";v="8", "Chromium";v="141" | computed |
| 140 | "Chromium";v="140", "Not=A?Brand";v="24", "Google Chrome";v="140" | computed |
How Chrome picks the brand list
All three steps use the major version as their only input, in components/embedder_support/user_agent_utils.cc (read at the 154.0.8037.58 tag):
- The fake brand's name is
Not, a character,A, a character,Brand. Both characters come from the list[" ", "(", ":", "-", ".", "/", ")", ";", "=", "?", "_"], at positionsmajor % 11and(major + 1) % 11. For Chrome 154:Not A(Brand(source). - Its version is
["8", "99", "24"][major % 3]: 99 for Chrome 154, and99.0.0.0in the full version list. - The order: the list starts as fake brand, Chromium, Google Chrome, and is shuffled with the permutation at
major % 6of Chromium's six-entry table, which says where each entry goes (GetRandomOrder, GenerateBrandVersionList).
This has been Chrome's algorithm since at least Chrome 110, which is where the table above stops. The code on this site reproduces the lists measured on Google Chrome 152, 153 and 154, Microsoft Edge 153 and Brave 154.
What the frozen parts no longer tell
Since Chrome's User-Agent reduction, the string is the same on every machine of a platform (GetUnifiedPlatform). The real values moved to Client Hints that a site has to request:
| Chrome/154.0.0.0 | Sec-CH-UA-Full-Version-List | the full version, e.g. 154.0.8037.58 |
| Windows NT 10.0 | Sec-CH-UA-Platform-Version | 13.0.0 and higher means Windows 11 |
| Intel Mac OS X 10_15_7 | Sec-CH-UA-Platform-Version, Sec-CH-UA-Arch | the macOS version, and arm on Apple silicon |
| Android 10; K | Sec-CH-UA-Platform-Version, Sec-CH-UA-Model | the Android version and the device model |
FAQ
What is the latest Chrome user agent?
On Windows: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36. On a Mac: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/154.0.0.0 Safari/537.36. The table above has every platform; only the major version (154) changes from one release to the next.
What is the Sec-CH-UA header for Chrome 154?
"Chromium";v="154", "Google Chrome";v="154", "Not A(Brand";v="99", on every platform. Microsoft Edge and Brave 154 send the same list with their own name in place of Google Chrome.
Why do the brands in Sec-CH-UA change order between versions?
On purpose. Chrome shuffles the three entries (Chromium, the browser's own name and a fake GREASE brand) with a permutation chosen by the major version, and changes the fake brand's name and version the same way, so that servers cannot rely on a fixed list. All six orders come round every six releases.
What is the headless Chrome user agent?
Chrome's headless mode replaces Chrome/ with HeadlessChrome/: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/154.0.0.0 Safari/537.36 on Linux. The Client Hints stay those of Google Chrome, so the two disagree, and any site can see both.
What is the Chrome user agent on iPhone and iPad?
Chrome on iOS runs on Apple's WebKit engine and uses a different string, with CriOS/ and the full Chrome version, a real iOS version, and no Client Hints. It is not covered here, because none of the rules above apply to it.
Should I put these headers in my scraper?
Only if everything else agrees with them. A request that says Chrome 154 but comes from an HTTP library has a TLS fingerprint no Chrome has (see the JA4 fingerprint checker), and a browser whose User-Agent was changed still reports its real version through Client Hints, workers and its engine features (see what is my user agent).
Related free tools
What is my user agent?
Your User-Agent and Client Hints, and whether they agree with each other.
Random user agent generator
Current Chrome, Edge and Firefox user agents, each with its Client Hints.
JA4 fingerprint checker
Your TLS and HTTP/2 fingerprints next to Chrome's and common HTTP clients'.
Chrome releases
What each Chrome version changed that a page or server can observe.
Clearcote puts this into practice
An open-source Chromium with fingerprint control compiled into the engine. A drop-in for Playwright & Puppeteer.
Free for one browser with GitHub. No card.