User Agent Parser
Decode browser user agent strings.
About User Agent Parser
Every request a browser makes carries a user agent string: one long line describing the software, operating system, and sometimes the device. Servers read it to pick mobile layouts, analytics tools read it to count platforms, and logs are full of them. The trouble is the format grew by accretion for thirty years, so almost everything in a modern string is historical decoration, and a few short fragments carry the real signal. This parser pulls out those fragments and reports the browser with its version, the rendering engine, the operating system, and whether the client is a phone, tablet, desktop, or a bot. Click the button to load your own browser's string, or paste any line from a server log, and the fields resolve instantly. Parsing is static pattern matching in your browser, so odd log lines can be inspected without sending them anywhere.
How to Use User Agent Parser
Load or paste a string
Click Use my browser's to fill the box with the user agent of the device you are on, or paste a line copied from an access log or an analytics export.
Read the parsed fields
The card reports Browser with version, Engine, OS, Device, and Client type. Anything the string genuinely does not contain is labeled as not detected instead of guessed.
Compare across devices
Run the tool on a phone, a tablet, and a desktop to see how the same browser describes itself differently on each platform.
Use it on log entries
Copy a suspicious user agent from a raw access log, paste it here, and the bot detection line tells you whether it belongs to a crawler or a browser pretending to be one.
Why Use User Agent Parser: Common Use Cases
Debugging a device-specific bug
When a user reports something broken, their user agent from a support ticket tells you the exact browser and OS combination to reproduce on.
Filtering crawlers out of analytics
Identify which log entries come from real browsers versus indexing bots and one-off scrapers, so traffic reports reflect people rather than scripts.
Checking a bot's declaration
Well-behaved crawlers name themselves and link a policy page. Parsing a string from your logs shows whether an unknown visitor declared itself honestly.
Understanding legacy support work
See which engine old intranet machines report, and understand what a modernization effort actually needs to replace.
User Agent Parser Specifications
| Input Formats | User agent string, Own browser UA |
|---|---|
| Output Formats | Browser and version, Engine, Operating system, Device and client type |
| File Size Limit | No strict limit (dependent on device memory) |
| Processing Engine | 100% Client-side (Runs locally in your browser) |
| Data Retention | Files never leave your device |
| Batch Processing | Single file processing |
Tips for User Agent Parser
Modern browsers deliberately freeze most of the string for privacy. Chrome, Edge, and Opera all begin Mozilla/5.0 and claim like Gecko, for historical compatibility, so read the distinctive fragments instead of the opening.
The order of checks matters: Edge contains the word Chrome, and Opera contains it too, which is why the parser tests the Edge and Opera markers first.
An empty or tiny user agent usually means a script or a curl invocation, not a privacy browser. Pair it with My IP when investigating log entries.
User agent based blocking is weak protection. Bots can copy any string they like, so treat it as a signal for analytics rather than a gate.
For request headers beyond the user agent, HTTP Status documents the status codes those requests produce.
Frequently Asked Questions
Why does every string start with Mozilla/5.0?
In the 1990s, sites served richer pages to browsers identifying as Mozilla. Every later browser copied that prefix so sites would not downgrade them, and the habit stuck permanently. It carries no meaning today.
What is the like Gecko fragment?
Another compatibility artifact. Engines claimed to be Gecko so that sites serving Gecko-specific stylesheets would not exclude them. Safari started it, and Chrome inherited it through Safari's codebase.
Why do Chrome and Edge look almost identical?
Microsoft Edge is built on the same Chromium engine as Chrome, so the strings differ only by the Edg token at the end. The parser reads that token first to tell them apart, which is also what real analytics software does.
Can a user agent lie?
Always. The string is declared by the client and nothing verifies it, so privacy extensions and bots can present anything. Use it as a strong hint about the client, never as proof or as a security control.
Why does my iPhone Safari say Mac OS X sometimes?
Certain browsers and modes, especially desktop-mode toggles and in-app webviews, intentionally report a desktop OS to receive desktop layouts. The device type field notes when the string contradicts itself.
Is parsing done on a server?
No. The patterns run in your browser, which is fitting: user agent strings are exactly what your browser sends about itself, and this way log lines with internal hostnames never leave your machine.