ZenovayTools

User Agent Parser

Parse any User-Agent string to identify browser name/version, operating system, device type (desktop/mobile/tablet), and bot detection. Supports Chrome, Firefox, Safari, Edge, and all major crawlers.

Try examples:

How to Use User Agent Parser

  1. 1Paste or type a User-Agent string into the input field.
  2. 2Browser name, version, operating system, and device type are detected instantly.
  3. 3Bot and crawler detection identifies Googlebot, Bingbot, and other known bots.
  4. 4Your current browser's User-Agent is pre-filled for quick reference.
Zenovay

Track your website performance

Real-time analytics, session replay, heatmaps, and AI insights. 2-minute setup, privacy-first.

Try Zenovay Analytics — Free

Frequently Asked Questions

What is a User-Agent string and where does it come from?
A User-Agent (UA) string is a text identifier sent by browsers and apps in the HTTP "User-Agent" header with every web request. It tells the server what software is making the request. Example: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36". This tells the server: Windows 10 64-bit, WebKit/Blink rendering engine, Chrome 120. The strange format (starting with Mozilla/5.0) is historical — browsers adopted it for compatibility with early web servers.
Why do most browsers say "Mozilla/5.0" even if they're Chrome?
The "Mozilla/5.0" prefix in almost all browser UA strings is a legacy compatibility quirk dating to the 1990s browser wars. When Netscape (Mozilla) was dominant, websites would only send full content to browsers identifying as Mozilla. Other browsers started including "Mozilla/5.0" in their UA strings to get the full content. This practice became universal even as browsers evolved. Modern UA strings layer multiple identifiers on top: Chrome says "Chrome/version Safari/version" and Safari says "Safari/version" — all for historical compatibility with UA detection scripts.
How does bot detection work?
Bot detection in UA parsing uses pattern matching against known bot signatures: Googlebot is identified by "Googlebot" in the UA string, Bingbot by "bingbot", and so on. Most legitimate bots explicitly identify themselves in their UA. This parser checks for over 30 known bots. However, malicious bots often spoof legitimate browser UA strings, so UA-based bot detection is not reliable for security purposes — it's useful for analytics (excluding crawler traffic) but not for access control.
Why might device type detection be inaccurate?
UA-based device detection has fundamental limitations: (1) Tablets often report as mobile devices (iPad used to say "iPhone" in its UA until 2019). (2) Desktop Chrome mobile emulation in DevTools sends mobile UA strings. (3) Some mobile browsers report desktop UA strings to get full desktop sites. (4) Progressive Web Apps (PWAs) may use different UA strings. (5) The UA string doesn't include screen resolution, which would help distinguish tablets from phones. For reliable device detection, combine UA parsing with JavaScript APIs: navigator.userAgent, screen.width, window.innerWidth, and touch event detection.
How do I get the User-Agent in JavaScript, PHP, or Python?
JavaScript (browser): navigator.userAgent — returns the current browser's UA string. PHP: $_SERVER["HTTP_USER_AGENT"] — from the HTTP request. Python (Flask): request.headers.get("User-Agent"). Python (Django): request.META.get("HTTP_USER_AGENT"). Node.js (Express): req.get("User-Agent") or req.headers["user-agent"]. The tool pre-fills your current browser's UA — copy it to test on other devices. UA strings are always available from the server side via HTTP headers without any JavaScript permission requirements.