DeveloperKit

User-Agent Parser

Identify the browser, operating system, device, and bots from User-Agent strings, one at a time or in bulk from your logs. Free, private, and 100% in your browser.

User-Agent String

Paste a User-Agent or click "Use My User-Agent" to see the browser, operating system, and device.

Parse User-Agent Strings Online

User-Agent strings in server logs, analytics exports, and bug reports are long and confusing because every browser includes the names of others. This parser reads the tokens in the right order and tells you which browser, operating system, and device actually sent the request, or whether it was a bot.

Example
Mozilla/5.0 (Linux; Android 14; SM-S928B) AppleWebKit/537.36 (KHTML, like Gecko)
SamsungBrowser/26.0 Chrome/122.0.6261.105 Mobile Safari/537.36

→ Samsung Internet 26.0 · Android 14 · Mobile · Samsung SM-S928B · Blink

Features

  • Browser, OS, and device

    Chrome, Safari, Firefox, Edge, Opera, Samsung Internet, in-app browsers, and WebViews, on Windows, macOS, iOS, Android, Linux, ChromeOS, smart TVs, and consoles.

  • Bots and crawlers

    Recognizes search engines (Googlebot, Bingbot), AI crawlers (GPTBot, ClaudeBot, PerplexityBot), social link previews, SEO tools, and uptime monitors.

  • Bulk mode for logs

    Paste up to 1,000 User-Agents from access logs and get a table plus a breakdown by device type, browser, and OS. Copy everything as CSV.

  • Explains the pitfalls

    Warns when the User-Agent cannot tell the truth: Windows 10 vs 11, frozen macOS 10.15.7, hidden Android models, and WebKit on every iOS browser.

  • Your own browser

    One click parses your User-Agent and, in Chromium browsers, reads the more precise User-Agent Client Hints.

  • Private by design

    Parsing happens in your browser with a built-in rule set. Your log data is never uploaded.

How to Parse a User-Agent

  1. Paste a User-Agent string, or click "Use My User-Agent".
  2. Read the browser, operating system, device type, engine, and CPU in the result cards.
  3. For log files, switch to Bulk mode and paste one User-Agent per line.
  4. Copy the result as JSON, or the bulk table as CSV.

Frequently Asked Questions

What is a User-Agent string?

It is a header that browsers and HTTP clients send with every request to identify themselves, for example "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36". Servers use it for analytics, compatibility workarounds, and bot detection.

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

For historical compatibility. In the 1990s, sites served advanced pages only to Netscape (Mozilla), so other browsers pretended to be Mozilla. Later browsers kept copying the tokens of earlier ones, which is why Chrome also mentions Safari and Edge mentions Chrome.

Can a User-Agent tell Windows 10 from Windows 11?

No. Both send Windows NT 10.0. Only User-Agent Client Hints (Sec-CH-UA-Platform-Version, or navigator.userAgentData in JavaScript) reveal it: version 13 or higher means Windows 11. Click "Use My User-Agent" in a Chromium browser to see your Client Hints.

Can I trust the User-Agent to detect bots?

Only partly. Any client can send any User-Agent, so scrapers often pretend to be Chrome or Googlebot. Verify important crawlers with a reverse DNS lookup or the IP ranges their operators publish.

What is User-Agent reduction?

Chrome and other browsers now send a reduced User-Agent: minor version numbers are 0.0.0, the Android device model is replaced by "K", and the macOS version is frozen at 10.15.7. Detailed information is available on request through Client Hints.

  • URL Encoder / Decoder

    Percent-encode or decode URLs and query values, and unwrap double-encoded strings from logs in one click.

  • URL Parser

    Break a URL into protocol, host, port, path, and fragment, and edit its query parameters as a key-value table.

  • cURL to Fetch / Axios

    Convert cURL commands, including Copy as cURL from DevTools, into JavaScript fetch() or axios code.

  • HTTP Status Codes

    Search every HTTP status code, from 200 OK and 404 Not Found to 418 I'm a teapot, with causes and fixes.