Home/User-Agent Parser

User-agent parser

Decode any user-agent string into the browser, rendering engine, operating system and device it describes. Your own is loaded below — paste any other to analyse it.

Browser
Loading…
Browser version
Loading…
Rendering engine
Loading…
Operating system
Loading…
Device type
Loading…
CPU / architecture
Loading…
Is mobile
Loading…
Likely bot/crawler
Loading…

What is a user-agent string?

Every time your browser requests a page, it sends a User-Agent header — a single line that announces the browser, its version, the rendering engine and your operating system. Servers use it to deliver compatible pages, gather analytics and detect bots. For historical reasons these strings are famously messy: nearly every browser still claims to be “Mozilla” and many include “KHTML, like Gecko”, which is why parsing them takes a bit of pattern-matching.

Why user-agents are being phased down

Because the UA string is so revealing, it's a strong fingerprinting signal. Browsers are gradually freezing and reducing the detail it contains (Chrome's User-Agent Reduction, plus the newer Client Hints mechanism that sends details only when a site explicitly asks). Expect future UA strings to be shorter and less precise — a win for privacy.

Reading the parsed fields

  • Engine — Blink (Chrome/Edge/Opera), WebKit (Safari) or Gecko (Firefox) determines how pages actually render.
  • Device type — inferred from mobile/tablet keywords; not always present.
  • Bot — flags known crawler signatures like Googlebot or bingbot.

Frequently Asked Questions

Can I trust the user-agent string?

No — it's freely editable. Browsers, bots and privacy tools routinely spoof it. Treat it as a hint, not proof of identity. Server-side detection should never rely on it for security.

Why does Safari's user-agent mention Chrome and Mozilla?

Legacy compatibility. Decades ago sites gated features on these tokens, so every browser piled them on to avoid being locked out. The clutter persists to this day.

What are Client Hints?

A modern replacement where the browser sends specific details (platform, model, full version) only when a server requests them, reducing passive fingerprinting compared with broadcasting everything in the UA string.