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