Privvert - private browser-based file toolsPrivvert

User-Agent Parser

Dekod nettleserstrenger

Browser-
Engine-
OS-
Device(desktop)
CPU-

Om dette verktøyet

Decode any User-Agent string into structured fields - browser, engine, OS, device and CPU. Useful for debugging analytics, building feature-detection logic, identifying mystery traffic in server logs, or just figuring out what a weird UA actually represents.

Privvert uses ua-parser-js, the same library many web analytics tools use. Sample strings for iPhone, Android, Windows, macOS, curl, and common bots are one click away. Runs locally.

Funksjoner

  • Parses browser, engine, OS, device, CPU
  • Sample strings for iPhone, Android, Windows, macOS, curl, common bots
  • Loads your current browser's UA with one click
  • Powered by ua-parser-js
  • Browser-only - UA strings never uploaded
  • Free and unlimited
  • Breaks down the User-Agent into browser, engine, OS and device

Slik bruker du det

  1. Paste a UA string, or click 'Use my browser' to load yours.
  2. Read the parsed fields.
🔒 100 % privat

Alt skjer inne i nettleseren din med JavaScript og WebAssembly. Filene dine lastes aldri opp, lagres aldri og ses aldri av oss.

Ofte stilte spørsmål

Why does curl show no browser?

curl isn't a browser - its User-Agent only identifies itself ('curl/8.0.1'), so the browser/engine fields stay empty. That's correct behavior.

Are UA strings reliable for fingerprinting?

No - they're easy to fake and many privacy-focused browsers reduce or randomise them. Use User-Agent for analytics aggregates, never for security decisions.

Why does my Chrome UA still say 'Mozilla/5.0'?

Historical accident - Netscape was 'Mozilla', then every later browser claimed Mozilla compatibility for compatibility detection. The 'Mozilla/5.0' prefix is now a vestigial header.

What about Client Hints?

Modern browsers are moving toward Client Hints (Sec-CH-UA) which give explicit, structured information instead of UA-string parsing. UA strings still exist as a fallback.

Why are user-agent strings so messy?

Historical accidents. Every new browser has copied parts of the older browsers' strings to convince servers that they're compatible, so the result is a string like Mozilla/5.0 (... AppleWebKit/...) ... Chrome/... Safari/... that contains the names of four browsers even though only one is actually running.

Should my app parse user-agent for feature detection?

Almost never. Use feature detection (testing for the actual API you need) instead of guessing capabilities from the user-agent. Modern browsers also implement client hints, which give you cleaner structured data when you do need to identify the client.