User Agent Parser

Overview

The User Agent parser reads a browser's UA string and extracts the browser name and version, rendering engine, operating system, CPU architecture, and device information. The page auto-detects your current browser's UA on load, or you can paste any UA string manually to inspect it.

What the Fields Mean

  • Browser — name and version, e.g. Chrome 124.0.0.0
  • Engine — rendering engine: Blink (Chrome/Edge), Gecko (Firefox), WebKit (Safari)
  • OS — system name and version, e.g. Windows 11, iOS 17.4, macOS 14
  • CPU — processor architecture like amd64 or arm64; desktop browsers usually have a value, mobile ones sometimes don't
  • Device — device type (mobile, tablet, desktop), vendor, and model number; desktop browsers report nothing here by default

Why Some Fields Are Empty

Desktop browsers don't include device model information in their UA strings, so the Device field is blank for all desktop browsers — this is correct behavior, not a parsing failure. Privacy-focused browsers (Firefox with fingerprint resistance, Brave's random UA mode) strip or randomize the UA, so the parsed result won't match the real device.

Developer Tools device simulation sends a modified UA, so the parser reflects the simulated device, not the physical machine.

Analyzing Server Logs

Nginx and Apache access logs include the UA in the last quoted field per line. You can copy that value directly — quotes included — and paste it into the input box. The parser strips surrounding quotes automatically. This is useful for investigating which browser or bot was behind a specific request without needing command-line tools.

When Parsed Results Don't Match Reality

A browser extension or DevTools can override the UA string. If the parsed output shows a different browser or OS than expected, the UA string itself has been altered. The parser works only on what the string contains — it can't detect when a UA has been spoofed.

New browser versions may also show as "unknown" briefly if the parsing library hasn't been updated yet to recognize the new version string.