Client Hints

Client Hints are a set of HTTP Headers and a JavaScript API that allow web browsers to send detailed information about the client device and browser to web servers. They are designed to be a successor to User-Agent, and provide a standardized way for web servers to optimize content for the client without relying on unreliable user-agent string-based detection or browser fingerprinting techniques.

Your Web Browser

HTTP User-AgentMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36

Client Hints JavaScript API

API Support True
brands[{"brand":" Not A;Brand","version":"99"},
{"brand":"Chromium","version":"126"},
{"brand":"Google Chrome","version":"126"}]
mobilefalse
platformWindows
platformVersion10.0
architecturex86
bitness64
wow64false
modelempty
uaFullVersion126.0.0.0
fullVersionList[{"brand":"Not/A)Brand","version":"8.0.0.0"},
{"brand":"Chromium","version":"126.0.6478.61"}]
formFactors[]

Client Hints HTTP Headers

Sec-CH-UA" Not A;Brand";v="99", "Chromium";v="126", "Google Chrome";v="126"
Sec-CH-UA-Platform"Windows"
Sec-CH-UA-Mobile?0
Sec-CH-UA-Full-Version"126.0.0.0"
Sec-CH-UA-Full-Version-List"Not/A)Brand";v="8.0.0.0", "Chromium";v="126.0.6478.61"
Sec-CH-UA-Platform-Version"10.0"
Sec-CH-UA-Arch"x86"
Sec-CH-UA-Bitness"64"
Sec-CH-UA-WoW64?0
Sec-CH-UA-Model""
Sec-CH-UA-Form-Factors
Sec-CH-Langnot received
Sec-CH-Save-Datanot received
Sec-CH-Widthnot received
Sec-CH-Viewport-Width1284
Viewport-Width1284
Sec-CH-Viewport-Height3852
Sec-CH-DPR1
DPR1
Sec-CH-Device-Memory8
Device-Memory8
RTT150
1.7
ECT4g
Sec-CH-Prefers-Color-Schemelight
Sec-CH-Prefers-Reduced-Motionno-preference
Sec-CH-Prefers-Reduced-Transparencyno-preference
Sec-CH-Prefers-Contrastnot received
Sec-CH-Forced-Colorsnot received
(*) Client Hints are divided into High Entropy and Low Entropy. High Entropy hints require related Accept-CH headers at the HTTP level or an asynchronous getHighEntropyValues() promise call in JavaScript. On the other hand, Low Entropy hints are sent by default every time, regardless of whether or not the server has opted in to receiving them. Client Hints that are detected as Low Entropy because they were received without prompting are marked with an asterisk (*).
Client Hints are not yet fully standardized, and due to evolving specifications, some of the headers may include the Sec-CH- prefix while others may not. The latest versions of the specification require all hints to have this prefix, but some earlier implementations may still accept headers without it. To ensure future compatibility, the Client Hints Test detects both behaviors.

List of known Client Hints

Further Reading

Leave a Comment (3)