Free User Agent Parser

Paste any user agent string to see the browser, operating system, device, rendering engine and CPU it describes, and whether it belongs to a bot, crawler or command-line tool. Your own browser's user agent is loaded automatically. Parsing runs in your browser; nothing is sent anywhere.

Your browser's user agent
Detectingโ€ฆ

Try an example:
Paste or type a user agent string above to see what it contains.

๐Ÿ“š Example User Agent Strings

Typical formats for each browser, device and bot. Version numbers are illustrative.

Browser/DeviceUser Agent StringAction
Chrome on WindowsMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Firefox on WindowsMozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0
Safari on macOSMozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2 Safari/605.1.15
Edge on WindowsMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Edg/120.0.0.0
Safari on iPhoneMozilla/5.0 (iPhone; CPU iPhone OS 17_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2 Mobile/15E148 Safari/604.1
Chrome on AndroidMozilla/5.0 (Linux; Android 14; Pixel 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Mobile Safari/537.36
Safari on iPadMozilla/5.0 (iPad; CPU OS 17_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2 Mobile/15E148 Safari/604.1
Samsung InternetMozilla/5.0 (Linux; Android 13; SAMSUNG SM-G998B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/23.0 Chrome/115.0.0.0 Mobile Safari/537.36
Reduced Chrome (Android)Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Mobile Safari/537.36
GooglebotMozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
BingbotMozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)
GPTBotMozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)
curlcurl/8.4.0

Summary

A user agent parser reads the User-Agent text that a browser or other HTTP client sends with every request and splits it into browser, operating system, device, rendering engine, CPU and bot status. To parse one free and privately, paste the string into Parse a User Agent String; the result cards update as you type. Your own browser's string is already filled in when the page opens. Parsing runs in your browser with the open-source UAParser.js library, so strings copied from server logs are never uploaded, and the Network tab in DevTools shows no request when you paste.

Treat the answer as a well-informed guess. Any client can send any string, and modern Chromium browsers freeze parts of theirs, so this tool says so when a value is a placeholder. To see what your own server sends back, use the HTTP header viewer.

Table of Use: What You Get for Common Strings

Sample user agents and what the parser reports for each
Paste thisBrowserOperating systemDevice and notes
Chrome 120 on WindowsChrome 120.0.0.0 (Blink engine)Windows 10 or 11Desktop, CPU amd64, plus a note that this is a frozen Chromium string
Safari on iPhoneMobile Safari 17.2 (WebKit)iOS 17.2Mobile, Apple iPhone
Chrome on a Pixel 8Mobile Chrome 120.0.0.0 (Blink)Android 14Mobile, Google Pixel 8
Reduced Chrome on AndroidMobile Chrome 120.0.0.0Android 10Model shown as K; a blue notice says the OS version and model are placeholders
GooglebotNone (automated client)Not detectedAutomated client: Googlebot 2.1 (crawler)
GPTBotNone (automated client)Not detectedAutomated client: GPTBot 1.2 (crawler), marked as an AI crawler
curl/8.4.0None (automated client)Not detectedAutomated client: curl 8.4.0 (cli)

A browser user agent is a run of tokens, most of them left over from old compatibility fixes:

The parts of a Chrome user agent string and what each tells you
PartExampleWhat it tells you
Product tokenMozilla/5.0A historical prefix nearly every browser sends; it identifies nothing
Platform block(Windows NT 10.0; Win64; x64)The operating system and CPU; NT 10.0 covers Windows 10 and 11
Engine tokensAppleWebKit/537.36 (KHTML, like Gecko)Compatibility labels that Chrome, Edge and Opera also send
Browser tokenChrome/120.0.0.0The browser name and version; Edge adds Edg/ and Opera adds OPR/ after it

Features of the User Agent Parser

  • Your own user agent loaded when the page opens, with a one-line summary. In Chromium browsers that expose User-Agent Client Hints, the summary is refined with the real OS version and device model.
  • Six result cards: Browser (name, version, major version), Operating System, Device (type, vendor, model), Rendering Engine, CPU and Bot Detection. A field the string does not state reads Not detected.
  • Bot detection for search crawlers, link and page fetchers, command-line tools such as curl and Wget, HTTP libraries such as python-requests, and headless browsers, with AI crawlers and AI assistants marked.
  • Frozen-value labels: Windows NT 10.0 is shown as 10 or 11, macOS 10.15 is flagged as frozen, and reduced Chromium strings get a notice that the OS version and Android model are placeholders.
  • Device types Mobile, Tablet, Smart TV, Game console, Wearable, XR headset and Embedded come from the string. When it names none, a desktop operating system is labelled Desktop, which is an inference.
  • Copy result as JSON with the original string and every parsed field, plus Clear and a table of 13 example strings with a Parse link on each row.

Parsing is local and instant. Results come from UAParser.js rules, so a brand-new browser or an unusual device may be reported only partly. The 64-bit Intel and AMD CPU appears as amd64, 64-bit ARM as arm64 and 32-bit ARM as arm.

How to Use the User Agent Parser

  1. Read Your browser's user agent at the top. Press Copy User Agent to copy it, or Parse my user agent to analyse it below.
  2. To check another string, paste it into Parse a User Agent String. Press Clear to empty the box, or use Try an example and the Parse links in Example User Agent Strings.
  3. Read the browser, OS and device summary, then the cards beneath it. An amber box means an automated client; a blue box means a frozen Chromium string.
  4. Press Copy result as JSON to take the parsed fields into a ticket, script or spreadsheet.

Who Can Use It

Web developers and QA testers paste a string from a bug report to see which browser and OS a customer used, then reproduce it. Log strings sometimes arrive percent-encoded; decode them with the URL decoder first, and find patterns across thousands of lines with the regex tester.

SEO and security teams use it to tell crawlers from people. When a hit claims to be Googlebot, look up the visitor's address with the IP address lookup and run a reverse query in the DNS lookup tool. If you decide to set crawl rules, the robots.txt generator writes them by user-agent name, and the .htaccess generator can block unwanted agents on Apache.

To find out who runs a domain that keeps appearing in your logs, use the WHOIS lookup. The copied JSON is already indented, and the JSON formatter can reformat or check it before you share it.

FAQs

How do I parse a user agent string?

Paste the string into Parse a User Agent String. The browser, operating system, device, rendering engine, CPU architecture and bot status update as you type, and Copy result as JSON copies every field to your clipboard. Your own browser's user agent is filled in when the page opens, and the Try an example buttons load typical strings for Chrome on Windows, Safari on macOS, Safari on iPhone, Chrome on Android, Googlebot and curl.

How do I find my own user agent?

Open this page: the Your browser's user agent panel shows it straight away, and Copy User Agent puts it on your clipboard. In any browser you can also type navigator.userAgent in the DevTools console, or look for the User-Agent line under Request Headers in the Network tab. The string describes the browser you are using now, not your device in general.

Why do all user agents start with Mozilla/5.0?

The "Mozilla/5.0" prefix is a historical artifact. When Netscape Navigator, code-named Mozilla, was dominant, servers checked for "Mozilla" before sending modern pages, so other browsers copied the prefix to avoid being served simpler content. Almost every browser still sends it today, which is why the prefix says nothing about which browser you are using.

How can I tell if a user agent belongs to a bot?

Paste it in. If it matches the crawler, fetcher, command-line, HTTP-library or headless-browser lists that ship with UAParser.js, an amber notice names the client and its kind, and marks AI crawlers such as GPTBot and AI assistants such as ChatGPT-User. A user agent can be faked, so confirm a real search-engine crawler with a reverse DNS lookup of its IP address.

Why does my Windows 11 PC or new Mac show an old version?

Browsers stopped updating those parts of the string. Every Windows 10 and Windows 11 browser sends "Windows NT 10.0", and Chrome, Safari and Firefox on any recent Mac report macOS 10.15. The parser labels these as frozen values. In Chromium browsers the Your browser's user agent panel also reads User-Agent Client Hints, which report the real OS version.

What are User-Agent Client Hints?

Client Hints are the newer way for Chromium-based browsers to describe themselves. Basic values such as the browser brand, mobile flag and platform are always available; detailed values such as the full OS version, device model and CPU architecture are sent only when a site asks for them, through HTTP headers or navigator.userAgentData.getHighEntropyValues(). As of October 2026, MDN lists the API as limited availability: Firefox and Safari do not support it.

How reliable is user agent detection?

Good enough for analytics and debugging, but never for security. Any client can send any user agent, some browsers deliberately copy others (Edge and Opera include "Chrome"), and modern Chromium browsers freeze parts of the string. To decide which features to use, test for the feature in JavaScript instead of reading the user agent.

Is the user agent I paste sent anywhere?

No. Parsing runs entirely in your browser with the UAParser.js library, so strings copied from your server logs or analytics stay on your device. The tool makes no network request when you paste or type, which you can confirm in the Network tab of DevTools. Your own user agent is read from your browser when the page opens and is not uploaded.