About the User Agent Parser
User-Agent strings are historical layers of compatibility claims: nearly every browser still starts with Mozilla/5.0, Chrome includes Safari/537.36, and Edge adds Edg/ to a Chrome string. The parser therefore checks the most specific tokens first (Edge, Opera, Samsung Internet, then Chrome, then Safari) and knows that every iOS browser uses WebKit, whatever its name.
Modern browsers deliberately hide detail. Chrome's reduced UA reports only the major version, freezes Android devices as Android 10; K, and Windows 11 still says Windows NT 10.0. macOS is frozen at 10.15.7, and iPads send a Mac UA by default. For exact values, request User-Agent Client Hints such as Sec-CH-UA-Platform-Version.
Crawlers (Googlebot, Bingbot, GPTBot, ClaudeBot, social previewers) and HTTP clients such as curl or python-requests are detected by their tokens. The UA header is trivially spoofed, so verify real crawlers by reverse DNS on the requesting IP before trusting them. Parsing runs locally with regular expressions; nothing is sent anywhere.
How to use it
- Your browser's User-Agent is filled in automatically.
- Paste another UA from your server logs, or click a sample.
- Read browser, engine, OS and device type in the result.
- Copy the JSON to use in tests or reports.