User Agent Parser

Break a user agent string into browser, engine, operating system and device, including bots.

User agent string

How to Parse a User Agent String

1

Paste the string

From a log file, an analytics export or a support ticket. The button fills in your own so you can see what your browser is telling every site you visit.

2

Read the four parts

Browser, rendering engine, operating system and device. The engine is the part that decides what actually works, which is why it is shown separately from the browser name.

3

Treat the answer with care

A user agent is self reported. It is good evidence about who visited and poor evidence about what their browser can do.

Features

Browser, engine, operating system and device in one pass
Chromium forks identified correctly instead of all reading as Chrome
Bot and crawler detection, including the AI crawlers
Android device model and vendor extracted where present
Phone and tablet told apart
Your own user agent filled in with one click
Ready made samples to compare against
Free and runs in your browser

Frequently Asked Questions

Historical accident that never got cleaned up. Browsers in the nineties claimed to be Netscape to get served the good version of pages, then everyone copied everyone else, and now every browser says Mozilla whether it has anything to do with Mozilla or not. It carries no information at all.

The same reason. Chrome added Safari to its string so sites that sniffed for WebKit would work, and every Chromium browser added Chrome for the same reason. This is why parsing order matters: check for Edge before Chrome, and Chrome before Safari, or everything comes back as Safari.

For rough analytics and for reading your logs, yes. As a basis for a decision, no. It is a string the client chooses to send, developer tools change it in two clicks, and privacy tools change it automatically. Use feature detection to decide what a browser supports.

Because iPadOS requests desktop sites by default, and part of that is sending a Mac user agent. It is the intended behaviour, and it is why iPad traffic quietly shows up as macOS in a lot of analytics.

On Android the Mobile token is the signal: an Android string with Mobile in it is a phone, without it a tablet. Apple is more direct, naming iPhone or iPad. Neither is guaranteed, which is why layout should follow the viewport size rather than the device name.

It is being reduced rather than removed. Chrome has been freezing parts of the string and moving the detail into Client Hints, which sites request explicitly. Expect the string to get less specific over time and the version numbers in it to stop being reliable.

Well behaved crawlers identify themselves clearly, and this tool recognises the common ones including the AI crawlers. Badly behaved ones lie, so a clean looking user agent proves nothing. Real bot detection uses behaviour and reverse DNS, not the string.

No. The parsing runs in your browser. The string you paste, including your own, is not logged anywhere.

Need a Custom Tool or Application?

We build production-grade web applications, SaaS platforms, and developer tools. Let's talk about your project.

or book a free call