Toolvore

User Agent Parser

Parse pasted or current user-agent strings in batches, explain uncertainty and export JSON or CSV.

This tool runs entirely in your browser. Your data is never uploaded, never stored, and never leaves your device.

Parse up to 100 pasted user-agent strings into inferred browser, OS, engine and device details, with explicit uncertainty and JSON or CSV exports.

How to use it

  1. 1Paste one user agent per line or choose Use my browser.
  2. 2Parse and review the original text, inferred labels and caveats.
  3. 3Copy JSON or download JSON/CSV; editing clears the previous result.

Example

Input
iPhone user agent with CriOS/128.0.6613.98 and like Mac OS X
Output
Chrome iOS 128.0.6613.98 · iOS / iPadOS · WebKit-like · Mobile-like

The complete tested example is supplied by Load examples. These labels are inferred, not verified.

What happens to your data

Pasted strings and the explicitly requested current-browser value are parsed in this tab without uploads, browser storage or client-hint lookups. Downloads are your explicit choice.

Last updated October 2026

Parse a pasted user-agent string or a batch of strings into readable browser, reported version, operating-system, engine and device clues. Use my browser reads the value announced by the browser running this page. You can also compare examples from an iPhone, a Windows browser and a crawler, then copy JSON or download JSON and CSV for a debugging note. All parsing takes place in the current tab.

Every result is an inference from text. A user agent is neither an authenticated identity nor a feature-support test. Browsers may reduce version information, freeze operating-system values, imitate other products or send a desktop-style string from a tablet. The original value stays visible alongside the interpretation, so an uncertain label never replaces the evidence you actually supplied.

How it works

Paste one complete string on each nonempty line. An optional User-Agent: prefix is removed; surrounding whitespace is trimmed. The parser accepts at most 100 nonempty strings, with 2,048 characters per string and 100,000 characters for the whole input. An invalid or oversized line rejects the batch with its line number. Empty lines are skipped but the original line numbers remain in the result. This makes it possible to trace an exported interpretation back to its source list.

Browser tokens are considered in a deliberate order. Edge, Opera, Samsung Internet and the iOS-specific CriOS, FxiOS and EdgiOS tokens are checked before their overlapping Chrome or Safari tokens. A plain Chrome token produces a Chrome-like label because other Chromium products can share it. A Version token followed by Safari produces Safari-like for the same reason. Firefox on iOS can omit its identifying token in some cases, so the absence of FxiOS does not prove the browser is Safari.

iPhone, iPad and explicit iOS-browser tokens are considered before Mac OS X. That prevents the common mistake of reading the phrase like Mac OS X in an iPhone string as macOS. An explicit CriOS token also takes precedence in a Mac-like desktop-mode string. Where no distinguishing token exists, the tool explains that macOS and an iPad desktop presentation cannot always be separated from text alone. Windows NT 10 is labeled Windows 10 / 11 because it does not establish which of those versions is installed.

Engine and device labels are also tentative. AppleWebKit and Chrome compatibility tokens suggest an engine family; they cannot verify the rendering code that actually executed. An iPad or tablet marker suggests a tablet, while Android without Mobile is treated as tablet-like. Bot-like strings are identified as claims, without any DNS, IP or crawler verification. Unknown input stays Unknown rather than being quietly classified as a desktop browser.

Use my browser runs only after you press the button. It does not request high-entropy client hints, permissions or a remote fingerprinting service. Editing any input clears the previous interpretation and export controls, and Clear removes the current data from page state. Reloading also clears the batch. Downloaded files remain wherever your browser saves them; the tool cannot remove copies you keep or share.

JSON includes the raw string, line number, labels and explanatory notes. CSV provides one row per input and prefixes potentially formula-like text cells with an apostrophe for spreadsheet safety; use JSON if exact text preservation is important. A diagnostic result is useful for investigating a reported browser issue or checking a configured override. For production behavior, prefer testing the required feature directly and using responsive layout, rather than treating the inferred browser or device as a permission or capability decision.

Worked example: Chrome on iPhone with a Mac compatibility token

Input
Mozilla/5.0 (iPhone; CPU iPhone OS 18_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/128.0.6613.98 Mobile/15E148 Safari/604.1
Result
Chrome iOS 128.0.6613.98; iOS / iPadOS; WebKit-like; Mobile-like

These are inferred labels from a supplied example, not an observation of a live device.

Common use cases

  • Reading a user-agent captured in a bug report
  • Checking whether an iOS browser token is being mistaken for macOS
  • Exporting a small batch of browser clues for a support investigation
  • Reviewing the string announced after a developer-tools override

Frequently asked questions

Why does my iPhone user agent mention Mac OS X?+

The phrase like Mac OS X is a compatibility convention. This parser checks iPhone, iPad and iOS browser markers first, so that phrase alone cannot turn an iPhone result into macOS.

Can this user-agent parser reliably identify every browser?+

No. Products can share or spoof tokens, and some remove identifying details. Chrome-like and Safari-like labels deliberately preserve that uncertainty. Exact browser branding, device hardware and feature support need other evidence.

Can I parse many user agents at once?+

Yes. Paste up to 100 nonempty lines, with at most 2,048 characters per line and 100,000 characters overall. Each row retains its source line number and can be downloaded as JSON or CSV.

Does a Googlebot string prove the request came from Google?+

No. Anyone can send that text. The tool recognizes a bot claim but performs no verification of the sender, address or DNS. Never grant crawler privileges on the strength of this label alone.

Are pasted user agents uploaded or saved?+

Parsing uses page memory without a lookup request or browser storage. The strings are not added to the URL. You can explicitly copy or download the result; reloading the page removes the in-page batch.