What is a user agent?
A line of text your browser sends with every request, naming the browser, its version and your system. Chromium browsers also send client hints: a newer, more structured version of the same information.
Every request names your browser and system: once in the User-Agent string and, in Chromium browsers, again in client hints. Pages can cross-check that against the JavaScript engine and the graphics card. Here's what yours claims, and whether the rest agrees.
How to fix
You're in the in-app browser of , so the results below are that browser's. To test the browser you normally use, copy the link and open it in Safari or Chrome.You're in an app's in-app browser, so the results below are that browser's. To test the browser you normally use, copy the link and open it in Safari or Chrome.You're in WeChat, so the results below are its in-app browser's. To test the browser you normally use, tap ··· at the top right and choose Open in Browser.
xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx, and right now you're in xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx. You speak xxxx xxxx xxxx xxxx, and your clock is set to xxxx xxxx xxxx xxxx xxxx, in xxxx xxxx format.
xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx
You're on xxxx xxxx xxxx xxxx xxxx, using xxxx xxxx xxxx xxxx xxxx, with a xxxx xxxx xxxx xxxx screen and xxxx xxxx xxxx xxxx graphics: xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx.
You get online through xxxx xxxx xxxx, xxxx xxxx xxxx xxxx, xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx; the DNS server that looks up sites for you is in xxxx xxxx. xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx.
You prefer xxxx xxxx, and xxxx xxxx xxxx; xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx. xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx. Your fonts drop a hint: xxxx xxxx xxxx xxxx xxxx. As for your age, xxxx xxxx xxxx xxxx xxxx.
To a site, this is xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx. xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx. You opened this page xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx, xxxx xxxx, xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx.
In a crowd, xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx.
More bits, rarer: each bit halves the people who look like you. The readings aren't independent (a 4K screen and a high-end card often come together), so the whole fingerprint is counted on its own, not multiplied up from the parts.
To tell you how many people share your settings, this site keeps anonymous counts: no IP, no full fingerprint, no record of any single visit. ·
CF-Connecting-IPrequest.cf.cityrequest.cf.latituderequest.cf.asOrganizationedns.ip-api.comrequest.cf.timezoneDNS PTRrequest.cf.colorequest.cf.tlsVersion/cdn-cgi/trace · kex, sni/cdn-cgi/trace · warpTLS ClientHelloprobe.1ms.dog · TCP SYNprobe.1ms.dog · JA4probe.1ms.dog · HTTP/2 SETTINGSprobe.1ms.dog · HTTP/3 · QUIC JA4Date.now()RTCPeerConnection · STUNWebRTC host candidateIPv6 EUI-64 (ff:fe)myip.ipip.netapi.ip.sbchatgpt.com/cdn-cgi/traceclaude.ai/cdn-cgi/tracewww.cloudflare.com/cdn-cgi/traceCloudflare Radar · IPv4 / IPv6User-AgentAccept-LanguageSec-CH-UASec-CH-UA-PlatformAccept-EncodingDNT · Sec-GPCReferer · document.referrernavigator.languagesIntl.DateTimeFormatIntl …timeZoneIntl …hourCycleIntl.Locale weekInfoIntl.NumberFormatIntl.supportedValuesOfnavigator.keyboardspeechSynthesisError.messageJS feature probesFunction.prototype.toString · iframeCSS.supportscanvas text antialiasingcanvas.toDataURLWebGL getParameterOfflineAudioContextMath.* → SHA-256emoji measureTextfonts → SHA-256getClientRects · RangeSVG getBBox · getComputedTextLengthmeasureText actualBoundingBoxWebGL readPixelswindow · HTMLElement · CSS keysperformance.now() resolutionrecursion depthSHA-256screen · cores · GPU · fonts → SHA-256HTTP cache · ETag / If-None-Matchcanvas × 2navigator.brave · noise · liesuserAgentDatauserAgentData.brands…architecture · bitnessscreen · devicePixelRatiorequestAnimationFramescreen.isExtended · screenXinnerWidth · availHeightoffsetWidth − clientWidthWebGL RENDERERnavigator.gpu adapter.infoGPUAdapter limits · featuresWebGL2 · MAX_TEXTURE_SIZEhardwareConcurrencynavigator.deviceMemoryperformance.memorymaxTouchPoints · pointernavigator.getBatterygeolocation (on request)devicemotion (on request)navigator.connectionenumerateDevicesAudioContext.sampleRatePublicKeyCredentialbluetooth.getAvailabilityMediaSource.isTypeSupportedRTCRtpSender.getCapabilitiesMediaRecorder.isTypeSupportedmediaCapabilities.decodingInforequestMediaKeySystemAccessstorage.estimateprefers-color-schemeprefers-reduced-motioncolor-gamut · dynamic-rangeprefers-contrast · forced-colorsfont-size: medium · AccentColordisplay-modedoNotTrack · GPCnavigator.cookieEnabledpermissions.queryusb · serial · hid · IdleDetector …pdfViewerEnablednavigator.webdriverWorker · navigatorbait element7 tracker scripts (on request)window.ethereum · DOM markschrome-extension:// fileshistory.lengthlocalStorage · IndexedDB · Cache · window.namecanvas measureTextA line of text your browser sends with every request, naming the browser, its version and your system. Chromium browsers also send client hints: a newer, more structured version of the same information.
For privacy, browsers froze the user agent at Windows 10 (and macOS at 10.15). The real version comes from client hints, and that's what this page shows.
You can change the string, but the JavaScript engine, the graphics card and client hints usually tell a different story. The checks on this page show where.