Read a user-agent string
Support tickets arrive with a wall of text instead of a browser name. This turns it into five readable fields.
How User-Agent Parser works
The request is made by your browser, so the answer is genuinely yours — your IP, your route, your speed. A server-side check would report the server's connection instead. That difference is the whole reason these pages exist.
That is the whole architecture: static files, one script, no upload endpoint to leak or log. Close the tab and the work is gone.
What the string actually is
A user-agent is one line of text the client sends with every request, and it is a historical accident: browsers kept appending tokens so that old servers would not break, which is why a modern Chrome still claims to be Mozilla, AppleWebKit and Safari before mentioning itself.
Browsers have started fighting back. Chrome freezes minor versions, Safari reports a fixed version string, and the reduced user-agent in Chromium drops the platform detail entirely. That is a deliberate anti-fingerprinting move, and it means a parser will sometimes honestly report less than you hoped.
Why it is a hint, not proof
The header is written by the client. Anything can claim to be anything, which is why bot detection based on user-agent alone is trivially defeated and why support flows should treat the result as a starting point for diagnosis rather than as identity.
The parser here matches locally against a table of patterns and keeps nothing. If you are triaging a ticket, the browser and OS fields are usually enough to reproduce the problem; the engine field matters mainly when a CSS feature is missing.
Good to know
- Works offline once loaded, including on flights and in locked-down networks.
- No file size limit beyond your device's own memory.
- Free to use, with no account and no usage counter.
- Results are produced locally, so they are not logged or shared with anyone.
Questions
Can a user-agent be trusted?
No. It is a header the client writes, so anything can claim to be anything. Treat the result as a hint for diagnosis, never as proof of identity.
Why is the version sometimes missing?
Some browsers freeze or omit the minor version on purpose to reduce fingerprinting. Safari, for example, reports a fixed version string.
Is my string stored?
No. It is matched against a table in the page and discarded when you leave.
What is the Use my browser's button for?
It fills the box with your own navigator.userAgent, which is handy when someone asks what you are running.
Keep going
More web tools
HTTP Header Analyzer
Paste response headers and see which of the eight security headers are present, which are weak and what each one actually prevents.
Open toolhtaccess Redirect Generator
Turn a list of old and new URLs into Apache RewriteRule lines with 301 or 302 status.
Open toolURL Parser
Break any URL into protocol, host, path, query parameters and hash, using the browser parser.
Open toolhtaccess to Nginx
Translate Apache RewriteRule lines into Nginx rewrite directives. Handles common 301 and 302 patterns; anything unusual is commented out.
Open toolHTTP Status Codes
Look up any HTTP status code by number or by name. A searchable list of the codes you actually meet in logs, APIs and browser dev tools.
Open toolMIME Type Lookup
Find the MIME type for a file extension, or the extensions for a MIME type, across images, fonts, documents and archives.
Open tool