Skip to content
Utiloom

User-Agent Parser

Parse a bounded User-Agent string into browser, OS, platform, engine, product-token, and bot-signature evidence with explicit uncertainty.

LocalNo retention

Reviewed July 13, 2026

Guide, examples, and validation Show

About this tool

Inspect a User-Agent header as self-declared compatibility evidence, while keeping spoofing, browser reduction, and bot-verification limits visible.

User-Agent Parser takes a single User-Agent header value and breaks it into the pieces most people actually want: browser name and version, operating system, platform type (desktop, mobile, tablet), and rendering engine. It runs the open-source Bowser 2.14.1 library in the page, then adds two things Bowser does not do on its own: a bot-token check against a list of known crawler signatures plus a generic pattern for words like bot, crawler, spider, scraper, and headless, and a list of every product/version token found in the string. Each result is paired with warnings about what the string cannot tell you, and the whole report can be copied or downloaded as JSON for a ticket or log review.

  • Uses the MIT-licensed Bowser 2.14.1 parser for browser, operating-system, platform, device, and rendering-engine interpretation.
  • Separates named and generic bot-token matches from verified crawler identity, and exposes the exact matched token.
  • Rejects multiline and oversized inputs, preserves a source snapshot, blocks stale export, and downloads a versioned JSON evidence report.

How to use UA Parser

Paste the header value into the User-Agent field; it must be one line, no control characters, and at most 4,096 characters. If you just want to see what your own browser sends, click This browser instead. There is also a sample dropdown with Chrome on Windows, Safari on iPhone, Googlebot smartphone, and a curl client; pick one and press Load sample. Then click Parse User-Agent. The status line reports how many of the four result groups (browser, OS, platform, engine) were recognized. Read the Bot token evidence card to see whether a known or generic automation token matched and exactly which text triggered it. Editing the input after parsing marks the report stale, so the JSON download stays off until you parse again.

When this tool is useful

  • A support engineer reading a customer's bug report that includes a User-Agent line and needs to know which browser build to reproduce on.
  • A web analyst checking whether a spike in traffic carries Googlebot, Bingbot, or an unlisted scraper token before adjusting reports.
  • A front-end developer confirming what the Chromium reduced User-Agent still exposes about OS and platform on a test device.
  • A security reviewer documenting a suspicious request header for a ticket without pasting it into a third-party lookup service.
  • A QA lead labeling device-farm logs by browser and engine so failures can be grouped by rendering engine.

Practical tips

  • Windows NT 10.0 is shown as 'Windows 10 or 11' on purpose; the string genuinely cannot separate the two releases.
  • A Googlebot token proves nothing about identity. Confirm crawler claims with reverse DNS and forward DNS on the requesting IP address.
  • Brave usually hides its brand and reports as Chrome, while Edge keeps an Edg token, so treat Chromium-family results as approximate.
  • If a group reads Unknown, the parser simply did not recognize a pattern; check the product tokens list, which is extracted independently.
  • Only the first 100 unique product tokens are kept, which is more than enough for real headers but worth knowing for stress tests.

Examples you can test

Load an example, compare the result with the expected output, then replace it with your own input.

Chrome on Windows

Example input

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

Expected output

Browser Chrome 126.0.0.0, OS Windows 10 or 11 (NT 10.0 token), platform desktop, engine Blink, no listed bot token, five product tokens

The warning list explains the Windows version ambiguity and Chromium reduction, which is why the version ends in .0.0.0.

Googlebot smartphone sample

Example input

Load sample: Googlebot smartphone, then Parse User-Agent

Expected output

An Android mobile platform, bot status 'known' with the matched Googlebot token and its category shown on the bot card

The match is a text signature only; the report warns that crawler identity still needs IP or DNS confirmation.

Validation checklist

  • Confirm the input is a single line and under 4,096 characters before parsing.
  • Compare the parsed browser version with the version shown in the user's own settings screen.
  • Treat any bot label as a hint and check the source IP separately.
  • Re-run Parse after editing the string so the JSON report is not stale.
  • Note which of the four groups were unrecognized before drawing conclusions.

Frequently asked questions

Does this tool use any external parsing library?

Yes. It uses the MIT-licensed Bowser 2.14.1 parser locally in your browser. No parsing API receives the User-Agent string.

Can it detect bots and crawlers?

It can report known or generic bot tokens and the matched text, but a token is not proof of crawler identity. Use authoritative reverse DNS, forward DNS, IP ranges, and request evidence when verification matters.

Why does my browser show as Chrome when I use Brave or Edge?

Chromium-family browsers may omit or reduce brand and platform details. Brave commonly masks its brand, while Edge normally exposes an Edg token. A User-Agent alone cannot recover information the browser did not send.

Is my user-agent string sent to any server?

No. All parsing happens entirely in your browser. Nothing is uploaded or transmitted.

What rendering engines does the parser identify?

Bowser can interpret common engine tokens such as Blink, Gecko, WebKit, Trident, Presto, and EdgeHTML. Some User-Agent strings expose only an engine name or no recognized engine version.

Related tools

Keep the workflow moving

Continue with tools that handle a related input, output, or validation step.

Developer

CSS Formatter

Format CSS, SCSS, or Less with stable output verification.

Local
Developer

cURL to Fetch & Axios Converter

Convert curl commands to fetch or axios code locally.

Local
Developer

HTML Entity Encoder Decoder

Transform HTML5 character references with explicit context and error policy.

Local
Developer

HTML Formatter

Format HTML with explicit whitespace and embedded-code policies.

Local