Skip to content

User-Agent Parser

Paste a raw User-Agent header and get the browser and version, rendering engine, operating system, and device type — with correctly identified search engine and AI crawler bots, checked before browser patterns so they never get misread as Chrome.

  • Browser, engine, OS and device type
  • Detects search engine and AI crawler bots by name
  • Distinguishes Edge and Opera from Chrome correctly
  • Autofills your own browser's UA string
  • Runs fully client-side

Parser

Parsed locally, nothing uploaded

How to parse a User-Agent string

  1. 01

    Paste the User-Agent string

    Copy it from a server log, an API request, or your browser's own dev tools network tab.

  2. 02

    Read the breakdown

    Browser and version, rendering engine, operating system and version, and device type all parse out separately.

  3. 03

    Check for a bot match

    Known search engine and AI crawlers are identified by name — Googlebot, GPTBot, ClaudeBot and others — instead of being misread as a generic browser.

Why every User-Agent starts with "Mozilla/5.0"#

This is one of the most-asked "why" questions about the web platform: every major browser, including Chrome, Safari and Edge, includes Mozilla/5.0 at the start of its User-Agent string, even though none of them are Mozilla software. It is a historical artifact — in the 1990s, sites checked for the Mozilla token to decide whether to serve advanced HTML features, and rather than break compatibility, every subsequent browser kept including it. Parsing a UA string correctly means looking past this token entirely and searching for the more specific ones further in.

Why order matters more than pattern matching#

A Chrome-based Edge UA string contains both Chrome/120.0.0.0 and Edg/120.0.0.0 — checking for "Chrome" first would misidentify every Edge user as a Chrome user. The same problem applies to Opera (contains Chrome and Safari), Samsung Internet, and most bots (many announce themselves with a Mozilla/5.0 prefix indistinguishable from a real browser at a glance). This parser checks the most specific, most distinguishing tokens first — bots before browsers, Edge and Opera before Chrome, Chrome before Safari — for exactly this reason.

What this is useful for, and its real limits#

Reading server logs to understand real traffic, debugging a bug that only reproduces on one browser or OS, or confirming whether a hit in an access log was a real visitor or a crawler are the practical uses this tool is built for. What it cannot do is guarantee accuracy against a User-Agent that has been deliberately spoofed — a browser extension, a scraper, or a security scanner can set this header to whatever string it wants, and nothing about HTTP prevents that. Treat a parsed User-Agent as a strong hint from a cooperative client, not a verified fact.

Frequently asked questions

Why does every User-Agent string start with Mozilla/5.0?

A historical compatibility artifact from the 1990s browser wars — sites checked for that token to decide whether to serve advanced features, and every browser since has kept including it even though none of them are Mozilla software.

How does this tell Edge apart from Chrome, since both contain "Chrome" in the string?

By checking for the more specific Edg/ token before the generic Chrome/ token. The same ordering logic applies to Opera and Samsung Internet, which also embed Chrome and Safari tokens in their own UA strings.

Can a User-Agent string be faked?

Yes, trivially — nothing in HTTP prevents a client from sending any User-Agent string it wants. This tool parses what the string claims, which is a strong hint for a cooperative browser but not something to rely on for security decisions.

Does this recognize AI crawlers like GPTBot and ClaudeBot?

Yes — known search engine and AI training crawlers are checked before browser patterns, specifically so they are identified by name instead of being misread as a generic Chrome or Safari hit.

Is the User-Agent string I paste sent anywhere?

No. Parsing happens entirely in your browser using JavaScript — nothing is uploaded.

Developers

UUID Generator

Generate cryptographically random UUID v4 or time-ordered UUID v7, in bulk.

Developers

Base64 Encoder & Decoder

Encode and decode Base64 with correct UTF-8 handling, including the URL-safe alphabet.

Developers

ULID Generator

Generate ULIDs — sortable by creation time like UUID v7, but Crockford Base32 instead of hex.