ULID Generator
Generate ULIDs — sortable by creation time and case-insensitive.
Break a user agent string into browser, engine, operating system and device.
The User Agent Parser untangles thirty years of compatibility claims into the real browser, engine, operating system and device — checking the most specific token first, which is what naive detection gets wrong.
A user agent string is an accumulation of thirty years of compatibility lies. Every browser claims to be Mozilla, most claim to be Safari, and Chromium-based browsers append their real identity at the end and hope you read it backwards.
This untangles it: the actual browser and version, the rendering engine, the operating system and its version, and the device class. The ordering matters and is handled correctly — Edge is checked before Chrome, and Chrome before Safari, because each claims to be the next. Crawlers and scripts get their own treatment, with Googlebot, the AI crawlers, link-preview fetchers, curl and headless automation all identified by name.
Edge before Chrome, Chrome before Safari — because each claims to be the next, and getting the order wrong misattributes every Edge user.
Googlebot, the AI crawlers, link-preview fetchers, curl, Postman and headless Chrome are each named rather than reported as an unknown browser.
Windows NT 10.0 becomes "10 or 11", because Microsoft never changed the token — which is a genuine limitation worth knowing.
Desktop, mobile, tablet or TV, worked out from the combination of tokens rather than a single keyword.
A user agent is a header anyone can set, and the page says so rather than presenting it as fact.
From a server log, an analytics report or a request header.
Browser, version, engine, operating system and device class.
Crawlers and scripts are named rather than being reported as an unknown browser.
Parse a list at once when you are working through a log.
Because of a browser war in the 1990s. Netscape called itself Mozilla, servers checked for it before serving frames, and every subsequent browser copied the claim to avoid being downgraded. It has been meaningless for decades.
Because Edge is Chromium-based and adds its own Edg/ token at the end. A parser must check for the most specific token first, which is why naive detection reports Edge users as Chrome.
No. It is a request header and anyone can set it to anything. Use it for analytics and rough compatibility, never for access control or security decisions.
Because it breaks on every browser you did not anticipate. Feature detection — checking whether the capability exists — is more reliable and does not need updating when a new browser appears.
What people who use the User Agent Parser think of it. Reviews come from visitors and are posted as written.
No ratings yet
Yours would be the first.
0 reviews
Newest first
No reviews yet
Be the first to rate the User Agent Parser. It takes half a minute and no account.
Write the first reviewGenerate ULIDs — sortable by creation time and case-insensitive.
Convert YAML config into JSON and see exactly how each value was typed.
Turn a JSON object into a TOML document with proper tables and arrays of tables.
Build layered box shadows visually, with a live preview.
Collapse a SQL query to one line and strip its comments.
Hash a password with bcrypt, or check one against an existing hash.
Generate serde-ready Rust structs from a sample JSON document.
See your own user agent string and what a server can tell from it.