Embed this tool on your site
About this tool
User Agent Parser decodes raw User-Agent header strings into structured, human-readable fields: browser name and version, rendering engine, operating system and version, and device type. Paste a UA string from server logs, a support ticket, or a browser request, click Parse UA and see four summary cards plus a structured JSON object, without installing ua-parser-js or any library. It recognizes Edge, Opera, Samsung Internet, UC Browser, Firefox, Chrome, Chrome on iOS, Safari and Internet Explorer; Blink, Gecko, WebKit and Trident engines; Windows, Android, iOS, macOS, Chrome OS and Linux; and Desktop, Mobile, Tablet, TV or Bot device types. Bots are flagged by keywords such as bot, crawler and spider. It uses simple pattern matching, so Brave reports as Chrome and HTTP clients such as curl show as Unknown. All processing runs in the browser — no UA string is transmitted to any server.
Why use it
Support triage acceleration: When a user reports a bug, paste their UA from the ticket into the parser and immediately see the browser and OS version without asking follow-up questions that delay resolution.
Crawler flagging: UA strings containing bot, crawler, spider, slurp, bingpreview or mediapartners — such as Googlebot and Bingbot — are marked as Bot, useful for separating search crawlers from real traffic in log analysis.
Structured JSON output: Copy a clean JSON object with browser, engine, os and device fields for pasting into bug trackers, feature flag configs, or log enrichment pipelines without manually parsing the raw string.
Brand-aware Chromium detection: Edge, Opera, Samsung Internet and UC Browser are named separately from Chrome even though they share the Blink engine.
Cross-browser compatibility research: Paste UA strings from multiple browsers and OS combinations to classify a traffic sample by browser family, OS and device type.
Privacy-safe, no upload: UA strings can contain device fingerprinting signals. All parsing is client-side only — nothing is logged, stored, or sent to a remote service.
How to use
- Paste the raw User-Agent string (e.g. from an HTTP request log, a browser's navigator.userAgent, or a support email) into the User-Agent String box.
- Click Parse UA. The result cards appear instantly.
- Read the Browser (name and version), Engine (Blink, Gecko, WebKit or Trident), OS (name and version) and Device (Desktop, Mobile, Tablet, TV or Bot) cards.
- Check the Structured JSON box, where device.isBot, isMobile and isTablet are true or false.
- Click Copy JSON to copy the structured parse result for pasting into bug reports, analytics scripts, or database records.
- Click Clear to empty the input and results before parsing another string.
When it helps
- Investigating a browser-specific rendering bug reported by a user and needing to know their exact browser, engine, and OS version from a copied UA string.
- Analyzing web server access logs to separate real user traffic from crawlers, bots, and monitoring agents before feeding the data to analytics.
- Building a browser compatibility matrix and needing to classify a set of UA strings from a traffic sample into browser families and versions.
- Debugging feature flag or A/B test targeting rules that use browser or OS detection and verifying the correct bucket is assigned to a given UA string.
- Setting up bot filtering for rate limiting or WAF rules and needing to verify that your regex patterns correctly match the UA strings of known crawlers.
- Testing a server-side user-agent parsing library against a reference tool to confirm your production parsing logic returns the same results.
Examples
InputMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36
Expected resultBrowser: Chrome 124.0.0.0 | Engine: Blink | OS: Windows 10.0 | Device: Desktop
InputMozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Expected resultBrowser: Unknown | Engine: Unknown | OS: Unknown | Device: Bot
InputMozilla/5.0 (iPhone; CPU iPhone OS 17_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.3 Mobile/15E148 Safari/604.1
Expected resultBrowser: Safari 17.3 | Engine: WebKit | OS: iOS 17.3 | Device: Mobile
Tips
- When debugging mobile browser issues, check both the browser name and the OS version — many mobile rendering bugs are OS-version-specific (e.g. iOS 15 Safari has different CSS support than iOS 17 Safari).
- If your analytics show unexpectedly high 'Safari' traffic from iOS apps, check the UA strings — iOS in-app WKWebView sends a Safari-like UA even for non-Safari apps, inflating Safari counts.
- Do not use UA-based browser detection for feature support decisions — use feature detection (CSS @supports, navigator.canShare, etc.) instead. UA detection is useful only for logging and debugging.
- Windows versions appear as the NT number from the UA: 10.0 covers both Windows 10 and Windows 11, because Windows 11 still sends Windows NT 10.0.
- Samsung Internet, which ships on Samsung Android devices, uses the Blink engine but sends its own brand name in the UA. Check that your browser-compat logic treats it as a Blink-based browser rather than an unknown one.
Frequently Asked Questions
Why do many browsers include 'Mozilla/5.0' at the start of their UA string?⌄
Historical compatibility. Early browsers sent Mozilla/version to receive full-featured content (pages would serve stripped-down HTML to non-Netscape browsers). All major browsers adopted this prefix to be treated as capable clients, even though it has been meaningless for decades. It remains frozen into the UA string format.
Can UA strings be spoofed or faked?⌄
Yes, trivially. Any HTTP client can set an arbitrary User-Agent header. UA parsing should be used for analytics hints and debugging convenience, never for security decisions or access control. Device fingerprinting (TLS JA3, canvas, WebGL) is more reliable for fraud prevention.
What is the difference between the browser engine and the browser brand?⌄
The browser engine is the rendering core — Blink (Chrome, Edge, Opera, Samsung Internet), Gecko (Firefox), WebKit (Safari). Browser brand is the product name. Edge switched from EdgeHTML to Blink in 2019, so modern Edge is Blink-based despite the different brand.
How does the parser handle Chrome's new 'brands' UA client hint format?⌄
Modern Chrome sends both a legacy User-Agent string (for backward compatibility) and the new Sec-CH-UA client hint headers. This tool parses the legacy UA string field. Sec-CH-UA hints require server-side header parsing; paste the Sec-CH-UA value directly if you want to decode that format.
Can the parser identify mobile vs tablet devices?⌄
Yes for common signatures. Tablet is chosen for iPad, Silk, PlayBook, the word tablet, or Android without 'Mobile'; Mobile for iPhone, iPod, 'Mobile', BlackBerry, Opera Mini or Windows Phone. Some tablets send desktop UAs by default (newer iPadOS) and will be classified as Desktop. TV and Bot are the other device types.
Does it detect older Internet Explorer versions?⌄
It recognizes IE as Internet Explorer with the Trident engine. Older MSIE strings (MSIE 8.0) show their version number, but IE 11's Trident/7.0; rv:11.0 format is shown as Internet Explorer without a version.
Which bots and crawlers does it flag?⌄
Device type is set to Bot when the UA contains bot, crawler, spider, slurp, bingpreview or mediapartners — which covers Googlebot, Bingbot and many crawlers. HTTP clients such as curl, wget, axios or Scrapy, and headless browsers such as HeadlessChrome, are not flagged; curl shows as Unknown/Desktop and HeadlessChrome as Chrome/Desktop.
How do I check my own browser's UA string?⌄
Open your browser's developer console, run navigator.userAgent, and paste the result into the tool. There is no auto-fill button, so copy it in yourself.
Glossary
- User-Agent string
- An HTTP request header that identifies the software (browser, bot, or HTTP client) making the request. Its format is semi-standardized but widely inconsistent; most browsers include product tokens, platform info, and engine version.
- Rendering engine
- The core browser component that parses HTML/CSS and paints pixels. The four main engines are Blink (Chrome, Edge, Opera), Gecko (Firefox), WebKit (Safari), and the now-deprecated Trident (Internet Explorer).
- UA Client Hints (Sec-CH-UA)
- A modern alternative to User-Agent strings introduced in Chrome 89. Instead of one large string, the browser sends structured headers like Sec-CH-UA (brand/version), Sec-CH-UA-Mobile, and Sec-CH-UA-Platform, reducing passive fingerprinting surface.
- Headless browser
- A browser running without a graphical user interface, typically controlled programmatically for testing or scraping. Headless Chrome is the most common; Playwright and Puppeteer use it. UA strings often include 'Headless' in the product token.
- Crawl budget
- The number of pages Googlebot or another crawler will index from a site in a given period. Identifying bot UA strings in access logs helps separate crawl traffic from user traffic when analyzing server load.
- WKWebView
- Apple's iOS web rendering component used in all iOS browsers (Chrome, Firefox, Edge on iOS are all WKWebView wrappers). WKWebView sends a Safari-like UA string regardless of the host app's branding.
A LITTLE HELP. A LOT DONE.
Good tools.
Great flow.
Your shortcut to the everyday. Create, convert, calculate,
and get back to what you love.
✳
✳
✓ Free to use✓ No sign-up✓ 500+ possibilities