What this browser check reports
The rows above are the full answer to what is my browser, grouped the way a site would collect them:
- Browser and OS — the raw
User-Agent string, the parsed name and version, the engine (Blink, Gecko or WebKit) and five Client Hints values. - Screen and device — screen resolution, available resolution, window size, device pixel ratio, colour depth, orientation, CPU cores, reported memory and touch points.
- Language and region — primary language, the full accepted-language list, your IANA timezone and its UTC offset.
- Privacy — cookies enabled, Do Not Track, Global Privacy Control.
- Graphics — the WebGL vendor and renderer strings, which on most desktops name your actual GPU.
- Supported features — WebGL, WebGL2, WebRTC, WebAssembly, service workers, localStorage, IndexedDB, notifications, geolocation and the Clipboard API.
Copy All as JSON puts the whole report on your clipboard. Your public IP address is not in it — that comes from the network layer, not the browser, and you can see it on what is my ip address.
What a User-Agent string is, and why it lies
The User-Agent is a line of text your browser attaches to every request so the server can guess what it is talking to. It has been dishonest since the 1990s, when browsers began claiming to be each other to get past server-side sniffing.
That is why every modern browser still opens with Mozilla/5.0, and why Chrome's string also contains AppleWebKit, KHTML, like Gecko and Safari. Edge appends Edg/ and Opera OPR/ after a Chrome/ token they both carry anyway.
It is also getting vaguer on purpose: Chrome freezes the minor version segments at 0.0.0, Safari has frozen its version for years, and an iPad reports itself as a Mac. Read that row as a compatibility label, not a fact — the full version list row is the accurate one.
Client Hints are replacing the User-Agent
Client Hints split the same information in two. Low-entropy hints (brand, major version, mobile or not, platform) go out with requests by default. High-entropy hints must be requested in JavaScript, which is where the five rows filled in a moment after load come from: navigator.userAgentData.getHighEntropyValues().
Only Chromium browsers implement it. In Safari and Firefox those rows read Unavailable, which is the correct result, not a failed test.
What browser fingerprinting actually is
Fingerprinting combines signals that are unremarkable on their own. “Chrome on Windows” describes hundreds of millions of people. Chrome on Windows at 3440×1440 with a device pixel ratio of 1.25, 16 cores, 8 GB of reported memory, the Europe/Riga timezone and an en-GB, lv language list describes almost nobody else.
The signals are not worth the same. Highest entropy: canvas and audio rendering hashes, the installed font list, the WebGL renderer string, screen geometry with device pixel ratio, and the ordered language list. Middling: timezone, CPU cores, reported memory, touch points, extension traces. Close to worthless alone: OS family, browser family, Do Not Track.
A fingerprint also has to be stable, not just rare, because its job is to recognise you next visit. That is why trackers pair it with anything that survives a cache clear — including an address leaked over WebRTC, worth checking with the webrtc leak test.
What this page does not tell you
This page answers what is my browser; it does not answer how unique am I. It shows the signals a site can read, and nothing here is a uniqueness score.
It computes no canvas hash, no audio fingerprint, no font enumeration and no extension probing, and it reads the WebGL vendor and renderer as plain text rather than hashing a rendered image. It holds no database of other visitors, so it cannot say how rare your combination is.
Treat “you are 1 in 3 million” verdicts elsewhere with the same caution: a site can only compare you against visitors it has recorded, a self-selected sample of people hunting for a fingerprint test. Studies run on ordinary web traffic find far fewer devices unique than test sites report.
One more limit: the headline name and version come from the browser's own Client Hints brand list where that exists, and otherwise from token matching on the User-Agent, most specific token first — so Edge, Opera, Vivaldi and Samsung Internet are named as themselves rather than as the Chrome/ token they all carry. Neither source is proof. A browser that deliberately reports another one's User-Agent, or has had it rewritten by an extension, will be named as whatever it claims; the raw User-Agent and full version list rows are what you should read when the headline looks wrong.
How to look less unique — and what backfires
The counter-intuitive part of anti-fingerprinting is that most anti-fingerprinting tools make you easier to follow. Uniqueness is the problem, so every niche extension, font pack, odd window size and spoofed value narrows the crowd around you. Five obscure privacy add-ons are close to a personal signature; a stock browser is not.
What helps is being boring on purpose: a mainstream browser in its default configuration, kept updated so your version sits in the largest pool. Beyond that, use a browser that standardises its users rather than randomising one: Tor Browser makes everyone report identical values and letterboxes the window, Mullvad Browser does the same without the Tor network, and Brave randomises selected signals per site so no stable value survives.
Why spoofing your User-Agent usually makes it worse
Spoofing changes one string while every other signal keeps telling the truth. A visitor claiming Windows while the WebGL renderer names an Apple GPU, the platform hint says macOS and the timezone says Asia/Ho_Chi_Minh is not hidden — that contradiction is rare and stable, exactly what a tracker wants.
Incognito mode and VPNs do not change your fingerprint
Private windows clear local state: history, cookies, site storage. They do not change your screen resolution, GPU, timezone, fonts, languages or User-Agent, so the fingerprint read in a private window is normally identical to the one read in a normal tab. A VPN changes your IP address and apparent location only — and when the exit country disagrees with your timezone and languages, that mismatch is one more signal.
Using the report in a bug report or support ticket
Copy All as JSON exists for the moment a developer asks “what browser and OS are you on?”. It holds the raw user agent, the browser block (name, version, engine, Client Hints), the OS, and the screen, device, language, privacy and graphics blocks. Two rows do the most work there: the WebGL renderer explains rendering bugs that appear on one GPU or driver only, and device pixel ratio with window size explains layout bugs that appear only on scaled displays.
Frequently asked questions
Why am I getting the error "Your browser is out of date! Update your browser to view this website"?
The site is judging your User-Agent string, not your browser's real capabilities, and something in that string looks old. Three common causes: your operating system is too old to receive current browser builds, so the browser honestly reports "up to date" at a version the site rejects; an extension, toolbar or security suite has rewritten your User-Agent; or the site's own detection script is stale. Compare the User-Agent row above with your browser's About page.
My Firefox says it's updated but websites say I'm using an old, unsupported browser — how do I fix it?
Your User-Agent has been overridden; reset it. Open about:config, search for general.useragent.override, right-click the preference and choose Reset, then restart Firefox. Adware, old toolbars and user-agent switcher add-ons write that preference and leave a stale version number behind, so sites keep seeing a browser from years ago. Check the User-Agent row above afterwards — it should match the version shown in about:support.
How do you change the user agent in Safari?
Turn on the Develop menu, then pick a string. Safari > Settings > Advanced > "Show features for web developers", then Develop > User Agent, where you can choose a preset or "Other…" for a custom string. It reverts when you quit Safari. In Chrome and Edge, press F12, open the three-dot menu > More tools > Network conditions, and untick "Use browser default". Remember that this changes only what you claim to be — the page still renders in Safari's engine.
I'm trying to reduce fingerprinting as much as possible — what actually works?
Blend in instead of adding tools. Run a mainstream browser in its default configuration, keep it updated, leave the window at a normal size, and do not spoof the User-Agent. If you need more, use Tor Browser or Mullvad Browser, which make their users report identical values, or Brave, which randomises selected signals per site. Each extra extension or spoofed value you add works against you by making your configuration rarer.
If I install a few extensions, do websites know I have those installed?
Often yes. On Chromium browsers an extension that exposes web-accessible resources can be probed: a script asks for a known file inside the extension and watches whether it loads. Extensions are also detectable by the elements, styles and network behaviour they inject into the page. Firefox randomises extension IDs per session, which blocks direct probing, but injected content is still visible. Each detected extension is another identifying bit.
Should I worry about fingerprinting based on my add-ons and extensions?
Yes, and this is where privacy setups usually backfire. One very popular content blocker costs you little, because you share it with hundreds of millions of people. Five niche privacy add-ons plus a user-agent spoofer is effectively a personal signature — rarer and more stable than the signals you were trying to hide. Keep your everyday profile close to stock and use a second profile for anything sensitive.
My browser sends a generic user agent to blend in — doesn't that make me anonymous?
No. The User-Agent is one of the weakest signals now, so normalising it barely moves the needle. Browsers stay identifiable by behaviour: Brave exposes navigator.brave, and every engine has its own feature-support pattern, error messages and timing quirks. Meanwhile the higher-entropy surface — GPU renderer, screen size with device pixel ratio, timezone, language list, fonts — keeps working exactly as before.