UtilityKit

500+ fast, free tools. Most run in your browser only; Image & PDF tools upload files to the backend when you run them.

User Agent Parser

Parse user-agent strings into browser, engine, OS, and device details.

About User Agent Parser

User Agent Parser decodes raw User-Agent header strings into structured, human-readable metadata covering browser family and version, rendering engine, operating system, device type, and bot classification. Paste a UA string from server logs, a support ticket, or a live browser request and instantly see a normalized breakdown without installing ua-parser-js, bowser, or any library. The tool handles modern UA strings from Chrome, Firefox, Safari, Edge, Samsung Internet, and Brave, as well as headless browsers like Headless Chrome and Playwright, crawlers like Googlebot and Bingbot, and HTTP clients like curl and axios. Results include a copyable JSON object for use in scripts, issue reports, and analytics pipelines. All processing runs in the browser — no UA string is transmitted to any server.

Why use User Agent Parser

Support triage acceleration

When a user reports a bug, paste their UA from the ticket into the parser and immediately know the exact browser and OS version without asking follow-up questions that delay resolution.

Bot and crawler detection

Identify Googlebot, Bingbot, and common scraping frameworks like Scrapy or Selenium by their UA signatures — useful for separating real traffic from automated traffic in log analysis.

Structured JSON output

Copy a clean JSON object with normalized field names for pasting into bug trackers, feature flag configs, or log enrichment pipelines without manually parsing the raw string.

Headless and automation detection

Headless Chrome (HeadlessChrome/xxx) and Playwright UA strings are flagged distinctly from regular browsers — useful for separating test traffic from real user sessions in analytics.

Cross-browser compatibility research

Paste UA strings from multiple browsers and OS combinations to build a compatibility matrix or verify that your browser-detection logic correctly classifies edge cases like Samsung Internet or UC Browser.

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 User Agent Parser

  1. Paste the raw User-Agent string (e.g. from an HTTP request log, a browser's navigator.userAgent, or a support email) into the input field.
  2. Click Parse or press Enter. The result card appears within milliseconds.
  3. Read the detected browser name and version, rendering engine (Blink, Gecko, WebKit, EdgeHTML), operating system and version, and device type (desktop, mobile, tablet).
  4. Check the Bot / Crawler indicator to see if the UA string matches a known automated agent signature.
  5. Click Copy JSON to copy the full structured parse result for pasting into bug reports, analytics scripts, or database records.
  6. To test your own browser, click the Use My UA button to automatically populate the field with navigator.userAgent from your current session.

When to use User Agent Parser

  • 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

Chrome 124 on Windows

Input: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36

Output: Browser: Chrome 124 | Engine: Blink (AppleWebKit/537.36) | OS: Windows 10 (x64) | Device: Desktop | Bot: No

Googlebot crawler

Input: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Output: Browser: N/A | Bot: Yes — Googlebot 2.1 (Google Search crawler) | OS: N/A | Device: Crawler

Safari on iPhone

Input: Mozilla/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

Output: Browser: Safari 17.3 | Engine: WebKit 605.1.15 | OS: iOS 17.3 | Device: Mobile (iPhone)

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 'Chrome' traffic on what should be a Safari-heavy iOS app, check the UA strings — iOS 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.
  • Googlebot renders pages using a headless Chrome instance — its UA includes HeadlessChrome as well as the Googlebot token. Test your site with Headless Chrome to approximate what Googlebot will see.
  • Samsung Internet, which ships on all Samsung Android devices, uses a 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. Mobile is detected via the 'Mobile' token in the UA string (standard in iOS and Android mobile UAs). Tablet detection uses platform tokens like iPad or Android without 'Mobile'. Some tablets send desktop UAs by default (newer iPad OS) and will be classified as desktop.
Does it detect older Internet Explorer versions?
Yes. IE 6 through IE 11 UA strings are recognized, including the Trident engine token and the MSIE version. IE 11 uses a different format (Trident/7.0; rv:11.0) from older IE versions (MSIE 8.0), and the parser handles both.
What are common bot UA patterns I should know?
Googlebot uses Mozilla/5.0 (compatible; Googlebot/2.1). Bingbot uses Mozilla/5.0 (compatible; bingbot/2.0). Scrapy defaults to Scrapy/version. curl and wget send their own names directly. Headless Chrome includes HeadlessChrome in the UA string.
Is there a way to get my current browser's UA string automatically?
Yes — click the 'Use My UA' button in the tool to auto-fill the input with navigator.userAgent from your current browser session. This is useful for verifying what your browser actually sends.

Explore the category

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.