What is my user agent?
The exact string your browser sends to every site, decoded — plus what else it hands over along the way.
Your user agent
- Browser
- —
- Operating system
- —
- Engine
- —
What else your browser reveals
- Languages
- —
- Platform
- —
- Viewport
- —
- Screen
- —
- Pixel ratio
- —
- Timezone
- —
- Cookies
- —
- Touch
- —
What the user-agent string is
Every request your browser makes carries a User-Agent header: a single line of
text in which the browser announces what it claims to be. A server reads it to decide which
variant of a page to send — the mobile layout, a polyfill for an old engine, a download
link for the right operating system. It is the reason a page can look different on your
phone and your laptop without you asking.
The important word is claims. Nothing verifies a user agent, so any program can
send any string, and plenty do — this page decodes the string conservatively and answers
unknown rather than guessing when the tokens do not line up. Where your browser
exposes structured data through navigator.userAgentData, it reads that instead,
because the modern brands are meant to be trusted where the legacy string no longer can be.
Why they all begin with Mozilla/5.0
The strangest thing about your user agent is that it opens by claiming to be a browser you
have never run. In 1994 Netscape shipped as Mozilla, and websites began serving
their newest features — frames, then more — only to browsers whose user agent contained that
word. So when Internet Explorer arrived it announced itself as Mozilla (compatible;
MSIE…) to be handed the same pages. Every browser since has inherited the disguise:
Chrome and Edge claim to be Safari, Safari claims to be KHTML "like Gecko", and all of them
still lead with Mozilla/5.0. The prefix has meant nothing but "I am a web
browser" for two decades, which is precisely why a parser must ignore it and read the few
tokens near the end that actually discriminate one browser from another.
The string is being retired
Because that pile of false claims also leaked enough detail to help track people, browsers
are winding it down. Freezing stops the string carrying new information —
Windows 11 still reports Windows NT 10.0, and macOS has said
10.15.7 for years. Reduction trims Chrome's version to
x.0.0.0 and collapses the device detail. In their place,
User-Agent Client Hints let a site request only the specific facts it needs
— full version, CPU architecture, whether the device is mobile — through request headers or
the navigator.userAgentData object, rather than broadcasting everything to
everyone. This is why a frozen or slightly wrong version here is not a bug: it is the string
doing its new, smaller job.
When you actually need it
Day to day, never. The one time it earns its keep is when something is wrong and you need to tell someone else exactly what you are running. A bug report or support ticket that includes the full string is far more actionable — a developer can reproduce against "Safari 17.5 on iPadOS, WebKit" but not against "it doesn't work". It is also the evidence to reach for when a site wrongly claims your browser is unsupported. If you are filing that ticket, the public IP address on the home page is the other detail support teams routinely ask for, so the two make natural companions to paste in together.
Common questions
What is a user agent?
The user agent is the line of text your browser attaches to every request it makes, announcing what it claims to be — a browser name, a version, a rendering engine, and an operating system. Servers read it to decide which version of a page to send, which is why a support agent will often ask for it. It is a claim, not a fingerprint: any program can send any string it likes, so the value describes what the browser says about itself rather than proving anything.
Why does every user agent start with Mozilla/5.0?
History, frozen in place. In 1994 Netscape called itself "Mozilla", and sites started serving frames only to browsers whose user agent contained that word. When Internet Explorer wanted the same frames it claimed to be "Mozilla (compatible)" too, and every browser since has copied whoever it needed to be served like — Chrome pretends to be Safari, Safari pretends to be KHTML, and all of them still open with Mozilla/5.0. The prefix now means nothing except "I am a web browser", which is exactly why the tokens that follow are the only ones a parser can trust.
Why does my browser version look frozen or slightly wrong?
Chromium browsers deliberately freeze most of the version and OS detail in the string. Chrome reports its minor digits as 0.0.0, Windows 11 still says "Windows NT 10.0" because that number was frozen at Windows 10, and macOS has been stuck reporting 10.15.7 for years. This is UA reduction: the browser truncates the string on purpose so sites cannot use the fine detail to track you, and hands the real numbers over a separate channel only to sites that ask.
What is UA reduction, freezing, and Client Hints?
They are the plan to retire the user-agent string. Freezing stops the string from carrying new detail; reduction trims what it already carries down to a coarse browser, a major version, and a platform. In its place, User-Agent Client Hints let a site request specific facts — full version, architecture, whether it is a mobile device — through request headers or the navigator.userAgentData object, so a site gets only what it explicitly asks for instead of everything at once. Where this page can read userAgentData it prefers those structured brands over parsing the legacy string.
When do I actually need my user agent?
Almost always for someone else. A bug report or support ticket is far more useful with the exact string pasted in, because it tells the developer which browser, version, and engine to reproduce against — "it's broken" and "Safari 17.5 on iPadOS, WebKit" are very different tickets. It is also handy when a site wrongly insists your browser is unsupported, so you can show what it is really being told. For day-to-day browsing you never need to know it.
Does anything shown here get uploaded?
No. Every value on this page is read from your own browser — navigator, screen, and window — and decoded in JavaScript on your device. Nothing is sent to a server, logged, or stored, and the page keeps working offline once it has loaded. Your public IP address, shown on the home page, is the one detail that necessarily involves a request, because only the network can report it back to you.