Skip to main content
L
Loopaloo
Buy Us a Coffee
All ToolsImage ProcessingAudio ProcessingVideo ProcessingDocument & TextPDF ToolsCSV & Data AnalysisConverters & EncodersWeb ToolsMath & ScienceGames
Guides & BlogAboutContact
Buy Us a Coffee
L
Loopaloo

Free online tools for developers, designers, and content creators. All processing happens entirely in your browser - your files never leave your device. No uploads, no accounts, complete privacy.

support@loopaloo.com

Tool Categories

  • Image Tools
  • Audio Tools
  • Video Tools
  • Document & Text
  • PDF Tools
  • CSV & Data
  • Converters
  • Web Tools
  • Math & Science
  • Games

Company

  • About Us
  • Contact
  • Blog
  • FAQ

Legal

  • Privacy Policy
  • Terms of Service
  • Disclaimer

Support

Buy Us a Coffee

© 2026 Loopaloo. All rights reserved. Built with privacy in mind.

Privacy|Terms|Disclaimer
  1. Home
  2. Web Tools
  3. User Agent Parser
Add to favorites

User Agent Parser

Parse and analyze user agent strings to extract browser, OS, device type, and rendering engine information

Paste any user-agent string and instantly see the browser name and version, operating system, device type, and rendering engine. Useful for debugging request headers, analyzing access logs, and understanding what clients are hitting your servers.

Runs locally in your browserMore web toolsJump to full guide

Initializing in your browser…

You might also like

Password Strength Checker

Analyze password security with 10 criteria checks, entropy calculation, crack time estimation, character breakdown, warnings, and improvement suggestions

URL Safety Analyzer

Analyze any URL for phishing, suspicious patterns, and security risks. Detects login keywords, suspicious TLDs, encoded characters, brand impersonation, and more

Certificate Decoder

Decode and analyze PEM-encoded X.509 SSL/TLS certificates. View subject, issuer, validity, extensions, and fingerprints

User Agent Parser: a worked example

A bug only reproduces for one customer. Their support ticket includes a raw User-Agent string and you need to know exactly what browser and OS to test.

Raw User-Agent header

Mozilla/5.0 (iPhone; CPU iPhone OS 17_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.2 Mobile/15E148 Safari/604.1
User Agent Parser produces

Parsed components

Browser:       Safari 17.2
Engine:        WebKit 605.1.15
OS:            iOS 17.2
Device:        Apple iPhone (mobile)
Form factor:   Mobile
Bot:           No

The User-Agent is a single dense string that crams browser, engine, OS, and device into legacy "Mozilla/5.0 … like Gecko" tokens kept only for compatibility. The parser maps those tokens to structured fields so you can reproduce the exact environment, here, mobile Safari 17.2 on iOS, which has very different CSS and JS behaviour from Chrome on Android.

About the User Agent Parser

Paste any user-agent string and instantly see the browser name and version, operating system, device type, and rendering engine. Useful for debugging request headers, analyzing access logs, and understanding what clients are hitting your servers.

Key features

  • Browser and version detection
  • Operating system identification
  • Device type classification (desktop, mobile, tablet, bot)
  • Rendering engine breakdown
  • Auto-detects your current user-agent

How to use

  1. 1Your own user-agent is parsed automatically on load.
  2. 2Paste a different user-agent string to analyze it.
  3. 3Review the parsed browser, OS, device, and engine details.

How it works

The User Agent Parser breaks a browser UA string into browser, rendering engine, operating system, device, and CPU architecture using a hand-written set of regular expressions rather than an external library. The detection order is deliberate because modern UAs overlap: it tests for Edge (the Edg/ token) and Opera (OPR/) before Chrome, since both ship Chromium and carry a Chrome/ token that would otherwise win, and it only reports Safari when both a Safari/ and a Version/ token are present so that Chrome-on-WebKit strings aren't misidentified. Rendering engines are classified as WebKit (from AppleWebKit/), Gecko (Firefox, with the version pulled from rv:), or Trident (legacy Internet Explorer), and Internet Explorer itself is matched via either MSIE or the Trident...rv: pattern.

Operating system detection maps raw kernel tokens to friendly names: Windows NT numbers are translated through a lookup table where 10.0 becomes '10/11', 6.3 is 8.1, 6.1 is 7, and 5.1 is XP, while macOS, iOS, and iPadOS versions have their underscore separators (e.g. 17_2) rewritten to dots. Linux strings are further refined to Ubuntu, Fedora, or Debian when those keywords appear, and CrOS is reported as Chrome OS. Device type is derived from the UA rather than guessed: Mobile/iPhone/iPod/BlackBerry/Opera Mini patterns flag a mobile device, iPad and Android-without-Mobile flag a tablet, and everything else falls through to desktop, with vendor/model recognition for Apple (iPhone, iPad, Mac), Google Pixel, and Samsung SM- model codes. CPU architecture is bucketed into x64 (from x86_64/Win64/WOW64/amd64), ARM64 (arm64/aarch64), ARM, or x86.

A dedicated bot pass runs first and short-circuits the rest of the parsing: a single regex matching bot, crawl, spider, slurp, search, fetch, or archive sets the device type to 'bot', and named crawlers Googlebot, Bingbot, Yandexbot, DuckDuckBot, and Baiduspider are identified explicitly (anything else becomes a generic 'Bot/Crawler'). Everything runs locally in the browser, so the tool auto-populates the field with your own navigator.userAgent on load and offers a 'Use Current Browser' button to re-read it. There are nine built-in sample strings (Chrome Windows, Safari macOS, Firefox Linux, iPhone Safari, Android Chrome, iPad Safari, Edge Windows, Googlebot, Bingbot) for quick testing, and the full parsed result is also rendered as formatted JSON with a copy-to-clipboard button, including isMobile and isBot flags.

Examples

  • Distinguishing Edge from Chrome

    Paste an Edge UA ending in Edg/120.0.2210.91; despite containing a Chrome/120 token, the parser reports Microsoft Edge because it tests the Edg/ token before Chrome.

  • Decoding a cryptic Windows version

    A string with 'Windows NT 10.0' is translated through the built-in lookup table and displayed as Windows 10/11 rather than the raw NT number.

  • Identifying a crawler

    The Googlebot sample matches the bot regex, sets device type to bot, and is named Googlebot with its version extracted, skipping the normal browser/OS detection path.

Tips & best practices

  • Use the 'Use Current Browser' button to instantly load and inspect your own navigator.userAgent string.
  • If a Chromium-based browser like Edge or Opera shows as plain Chrome elsewhere, note this parser handles it by checking the Edg/ and OPR/ tokens first.
  • Try the Googlebot or Bingbot samples to see how the bot short-circuit path classifies crawlers and names them explicitly.

Practical scenarios

  • Debugging API requests

    Parse the User-Agent header from failing requests to identify client-specific issues.

  • Log analysis

    Decode user-agent strings from server logs to understand your traffic mix across browsers and devices.

  • Bot detection

    Identify crawlers, scrapers, and automated agents by examining their user-agent signatures.

Frequently asked questions

Why are user-agent strings so long and messy?

Decades of browser history led to each new browser appending compatibility tokens. Chrome's UA includes "Mozilla""AppleWebKit"and "Safari" for legacy reasons.

Are user-agent strings reliable for feature detection?

No. Prefer feature detection (e.g., checking if an API exists in the browser) over user-agent sniffing, which is fragile and easily spoofed.

Private by design

This runs as client-side JavaScript. Keys, tokens, payloads, and other inputs never leave your device.