user-agent
A user agent detector reveals the User-Agent (UA) string your browser sends with every HTTP request โ the identification of browser name, version, rendering engine, operating system, and device type. Used by web servers for analytics, conditional content (mobile vs desktop layouts), bot detection, and debugging device-specific bugs. The ZTools User Agent Detector parses the current request UA, displays it in a structured way (browser / version / OS / engine / device / type), and shows the modern Client Hints values (browsers progressively replacing the UA string). Useful for QA, debugging, and bot/automation testing.
Use casesโ
Mobile / desktop testingโ
Verify your "is this a mobile device?" detection works correctly across iPhone, Android, iPad, desktop, etc.
Bug reportingโ
When filing a browser-specific bug, attach UA + parsed details to the report โ saves the engineer triage time.
Bot detection debuggingโ
Test how your site treats different UAs โ bot-like UAs should not get challenged. Whitelist known good bots (Googlebot, Bingbot).
Compatibility checksโ
Old browser UAs help confirm whether your site renders correctly on legacy users (or whether to drop support).
How it worksโ
- View current UA โ Displays your browser's User-Agent header verbatim.
- Parsed breakdown โ Browser name + version, OS name + version, rendering engine (Blink / Gecko / WebKit), device type (desktop / mobile / tablet / TV / wearable).
- Client Hints โ Modern browsers send
Sec-CH-UA-*headers; tool displays available values. - Capabilities check โ Touch, WebGL, WebRTC, Service Workers, Web Push โ quick capability summary.
- Copy raw UA โ For pasting into bug reports.
Examplesโ
Input: iPhone 16 Pro Safari
Output: Mozilla/5.0 (iPhone; CPU iPhone OS 18_3...) parsed as: Safari 18 / iOS 18 / Mobile / WebKit.
Input: Chrome desktop
Output: Mozilla/5.0 (Windows NT 10.0...) parsed as: Chrome 138 / Windows 10 / Desktop / Blink.
Input: Googlebot UA
Output: Mozilla/5.0 (compatible; Googlebot/2.1; +https://...) flagged as Bot / Crawler.
Frequently asked questionsโ
Why does the UA say "Mozilla/5.0" even for non-Mozilla browsers?
Historical: in 1990s, sites required "Mozilla" to ship modern HTML. Browsers spoofed it for compatibility, and the convention stuck. Every modern browser starts UA with "Mozilla/5.0" for legacy reasons.
What's "Client Hints"?
Modern (post-2020) replacement for the UA string. Servers request specific hints (browser brand, model, full version) via HTTP headers, reducing fingerprinting surface area while preserving useful signals.
Can I spoof my UA?
Yes โ browsers expose dev-tool UA override (Chrome DevTools โ โฎ โ More tools โ Network conditions). Useful for testing mobile-vs-desktop responsive views.
Why does my UA have "iPad" but the site treats me as desktop?
iPadOS 13+ defaults to desktop UA on iPad to encourage desktop-class web experience. Some sites are catching up; iPad-specific detection often requires Touch capability + screen size, not UA.
Is my UA unique enough to fingerprint me?
Combined with screen size, fonts, timezone, etc., yes โ UA contributes meaningfully to browser fingerprinting. Modern browsers (Brave, Firefox with strict mode) randomise/reduce UA precision to mitigate.
Should I do UA detection in my code?
Prefer feature detection (if (navigator.serviceWorker)) over UA detection โ UAs lie, features tell the truth. Reserve UA for analytics and bot detection.
Tipsโ
- Always include UA + browser version in bug reports โ saves engineering triage time.
- For detection logic, prefer feature detection over UA parsing โ more reliable.
- Test UA spoofing in DevTools when QAing mobile responsiveness from desktop.
- Watch out for iPad-as-desktop UA gotcha โ affects ~5% of users.
- Modern Client Hints will replace UA over coming years โ design for both.
Try it nowโ
The full user-agent runs in your browser at https://ztools.zaions.com/user-agent โ no signup, no upload, no data leaves your device.
Last updated: 2026-05-06 ยท Author: Ahsan Mahmood ยท Edit this page on GitHub