User Agent Parser
Read any user agent string as browser, operating system, device type, and rendering engine, starting with your own.
Prefilled with your own browser and parsed live as you type. Nothing leaves your browser.
How to parse a user agent string
Start with your own
The field opens prefilled with the user agent your browser is sending right now, already broken down below.
Paste a different string
Replace it with a user agent from a log line, a bug report, or a support ticket, and the breakdown updates as you type.
Read the breakdown
Browser and version, operating system, device type, and rendering engine each sit on their own row, with the raw string below.
Copy what you need
Copy a single field, or copy the whole breakdown as JSON to paste into a ticket or a test fixture.
Why use this tool
Prefilled with your own browser
Open the page and your current user agent is already there and already parsed, so answering "what is my user agent" takes no typing.
Four fields that matter
Browser and version, operating system with its version where the string carries one, device type, and rendering engine.
Bots labelled as bots
Search crawlers, link previewers, and command line clients are recognised and marked as automated rather than dressed up as a browser.
Degrades instead of failing
A trimmed, custom, or nonsense string returns Unknown for the parts it cannot place, with the rest still filled in. Nothing errors out.
Copy a field or the whole thing
Every row has its own copy button, and the full breakdown copies as JSON for a bug report or a test fixture.
Runs entirely in your browser
Parsing happens on your device against a built-in rules table. No lookup service is contacted and nothing is uploaded.
About this tool
A user agent string is the line a browser sends with every request to describe itself, and it is one of the strangest strings in computing. Almost every browser still starts with Mozilla, most claim to be Safari, and Chromium browsers claim to be Chrome as well as themselves. That history is why the raw string is nearly unreadable and why a parser has to work through the most specific markers first. This tool does exactly that and shows you the four things you usually want: browser and version, operating system, device type, and rendering engine such as Blink, Gecko, or WebKit.
The field starts prefilled with the user agent your own browser is sending, so the common question of what am I actually reporting is answered on arrival. Replace it with a string from a server log, an analytics export, a bug report, or a support ticket, and the breakdown updates as you type. Search crawlers, link preview fetchers, and command line clients are recognised and labelled as bots, which is often the whole point of the lookup: working out whether a strange traffic spike was people or machines.
Treat every result as a claim rather than a fact. A user agent is set by whoever sends the request, so it can be trimmed, faked, or made up entirely, and modern browsers deliberately freeze parts of it to reduce fingerprinting. Windows in particular reports only a kernel version, so 10 and 11 are indistinguishable. When a string carries nothing recognisable, the affected rows read Unknown instead of guessing. For neighbouring pieces of a request, see the URL parser, the JWT decoder, and the HTTP status codes reference.
Frequently asked questions
- What is a user agent string?
- It is a line of text your browser sends with every request, describing the browser, its version, the operating system, and the rendering engine. Servers use it for analytics, for compatibility workarounds, and for telling people apart from crawlers.
- Why does my user agent say Mozilla and Safari when I use Chrome?
- For historical compatibility. Sites once sniffed for specific browsers to decide which features to send, so browsers started claiming to be each other to avoid being locked out. Those claims were never removed, which is why one string can name three browsers at once.
- Can a user agent be faked?
- Yes, easily. It is set by whoever sends the request, so it can be changed in developer tools, in an extension, or in a script. Read the result as what the client claims, not as proof of what it is, and never use it as a security control.
- Why is the operating system version missing or vague?
- Because the string often does not carry it. Windows reports a kernel version rather than a name, so 10 and 11 look identical, and browsers now freeze or round parts of the string to reduce fingerprinting. Missing pieces are shown as Unknown rather than guessed.
- Is anything uploaded when I parse a string?
- No. Parsing runs in your browser against a built-in rules table, so no lookup service is contacted and the string never leaves your device. That matters when the user agent came from a customer log line.
Related tools
URL Parser
Paste a URL and see every part broken out, with a decoded table of its query parameters.
JWT Decoder
Decode a JSON Web Token and optionally verify its signature, right in your browser.
HTTP Status Codes Reference
Search every HTTP status code, see what it means, and copy it with a click.
API Key Generator
Generate cryptographically random API keys and tokens in hex, base62, or base64url, with control over length, an optional prefix, and bulk output.
ASCII Table Reference
The full ASCII character set with decimal, hex, octal, binary, and HTML codes. Search by code, character, or name.
Atbash Cipher
Mirror the alphabet so A swaps with Z, B with Y, and so on. Atbash is its own inverse, so one field both encodes and decodes as you type.