Break a user agent string into browser, engine, operating system and device, including bots.
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.
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.
A user agent is self reported. It is good evidence about who visited and poor evidence about what their browser can do.
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.
Find the right Content-Type for any file extension, and the extension for any MIME type.
Open ToolEvery HTTP status code with what it means and when to send it, searchable by number, phrase or description.
Open ToolWork out network, broadcast, host range and mask from any CIDR block, and split it into smaller subnets.
Open Tool