Free online User-Agent parser tool. One-click detection of browser, operating system, device type, vendor, model, and more. Supports bot/crawler detection, mobile/desktop identification, and all major browsers.
TL;DR: Free User-Agent parser: browser, engine, OS, device, and CPU architecture, plus reduced-UA and bot heuristics. Runs locally; Client Hints are out of scope.
For local tools, open DevTools → Network and search your input — it should not appear in requests.
Usage Guide
The User-Agent is the browser's one-line self-introduction on every request — and the messiest field on the internet, carrying twenty years of compatibility baggage. This tool splits a UA into browser, rendering engine, OS, device type, and CPU architecture, and flags reduced/frozen UAs. Plain-string parsing locally; Client Hints are out of scope. Copy JSON into log pipelines; this page makes no network calls.
1. Parse a UA
- Paste the full UA string, or use Detect My UA / the example library (desktop, mobile, reduced UA, bots).
- Read the breakdown: browser and version, engine, OS, device type, CPU architecture; Chromium freeze patterns show a Reduced / Frozen UA badge.
- Copy the structured JSON. When you need full minor versions or device model, merge Sec-CH-UA on the server (this page does not parse Client Hints).
2. Why UAs "lie"
To pass old sites' sniffing, browsers borrowed each other's keywords: Chrome contains "Safari", Edge contains both Chrome and Safari, and nearly everything claims Mozilla/5.0. Real parsers use specificity-ordered keyword matching, not "first match wins" — hand-rolled indexOf('Safari') detection is almost guaranteed to misfire; leave it to a full parser.
3. Where UA is heading
- UA is being replaced by UA Client Hints (the Sec-CH-UA headers): modern browsers freeze minor versions by default and prefer structured headers for browser/platform info — better for privacy and far easier to parse.
- UA-based feature gating is an anti-pattern: detect "what is supported" with feature detection; use "what browser" only for analytics and logs, never to gate functionality.
- Mobile UAs are trivially spoofed (built-in switchers, crawlers) — never let UA be the sole signal for a critical decision.
4. Client Hints: the UA successor
Chrome is rolling out Reduced UA: the version freezes to a fixed value and real details move to Sec-CH-UA request headers served on demand. New traffic carries ever-thinner UA strings, while legacy logs, crawlers and server SDKs keep full ones — so parsing value concentrates on spotting non-standard clients: HeadlessChrome, python-requests, Go-http-client signatures are recognizable at a glance, the first sieve of traffic hygiene.
5. Bulk-parsing workflows
Two common pipelines: server-log cleanup — export the UA column, paste it here, pivot by browser/OS/device; and bot triage — a bot UA (no Mozilla prefix, Headless marker, contradictory platform/language fields) is harder to forge completely than an IP. Cache parse results: a visitor UA barely changes within a session, so per-request parsing is pure waste.
6. Reading the result fields
This page parses the User-Agent string only, not Sec-CH-UA. Merge Client Hints on the server when you need model or full minors. Copied JSON joins cleanly with access logs for browser/device pivots.
- browser / engine / os use specificity-ordered matching so Edge is not labeled Chrome.
- device.type is desktop / mobile / tablet / bot / unknown; isBot pairs with type=bot for log hygiene.
- isReducedUA lights when Chromium freeze patterns match — minor versions are not trustworthy then.
- CPU architecture comes from common trailing tokens; leave it empty when absent.
FAQ
Browser name and version, rendering engine (Blink/WebKit/Gecko/Trident), OS, device type (desktop/mobile/tablet), CPU architecture (e.g. x86_64/arm64), vendor and model when present, bot flags, and whether the string matches Chromium frozen/reduced UA heuristics. Results can be copied as structured JSON straight into log pipelines.
Yes. Built-in rules cover common search crawlers (Googlebot, Bingbot, YandexBot), social media bots, HeadlessChrome, and framework signatures such as curl, python-requests, and Go-http-client; the example library has ready-to-click samples for comparison.
No — this page only parses the pasted User-Agent string. Minor versions on Chromium frozen UAs are not trustworthy; when you need the full version or device model, merge the Sec-CH-UA header family with the UA on the server before deciding.
Because UAs famously lie: Chrome strings carry Safari tokens, Edge carries Chrome and Safari, and nearly every modern browser claims to be Mozilla/5.0. Real parsing relies on keyword matching ordered by specificity, so a hand-rolled indexOf check almost always misjudges — Edge gets counted as Chrome, for example.
browser/engine/os pick the most specific keyword found in the string; device.type reports desktop/mobile/tablet/bot/unknown, and isBot usually appears alongside type=bot for easier log cleaning; isReducedUA lights up when the string matches the Chromium frozen pattern (major version .0.0.0 plus frozen platform tokens), signaling that the minor version is unreliable; CPU architecture is left empty rather than guessed when absent.
No. The page performs pure string parsing — it makes no network requests and never writes your UA to any log or database.
Related Tools
Related Articles
Online User-Agent Parser: Identify Browser and Device Information
Parse User-Agent strings into browser, engine, OS, device type, and CPU architecture. Covers Client Hints boundaries, reduced UAs, and the example library.
Test Data Compliance Boundary: Why Copying Real User Data Into Test Environments Is Already Illegal
Using real user data in test environments violates purpose limitation under PIPL and GDPR: testing is a brand-new processing purpose. The four legal alternatives (anonymization/synthetic/public test ranges/hand-made), how format-valid-but-random works (national checksum standards), and the red-line list. With checksum algorithm tables for CN IDs, phones, and credit codes.
Online Cron Expression Parser: Visualize Scheduled Task Scheduling
Parse standard five-field Cron: field expansion, readable summary, name aliases, day/weekday OR, next 5 runs in browser-local time, and dialect boundaries.