# User agent parser

> Parse a user agent string into browser, engine, operating system and device type. Shows your own by default. Free, and it runs in your browser.

Canonical: https://toolspace.tech/user-agent-parser/
Last updated: 2026-10-25

See which browser, engine, operating system and device a user agent string describes. It starts with your own browser’s string, and you can paste any other, such as one from a server log.

This is an interactive tool that runs in the browser: [open the User agent parser](https://toolspace.tech/user-agent-parser/) to use it. Nothing typed into it is uploaded.

## Worked example

Samsung Internet on a Galaxy phone.

**user agent**

```
Mozilla/5.0 (Linux; Android 14; SAMSUNG SM-S918B) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/26.0 Chrome/122.0.0.0 Mobile Safari/537.36
```

**parsed**

```
Browser: Samsung Internet 26.0
Engine: Blink 122.0.0.0
Operating system: Android 14
Device type: Mobile (model: SAMSUNG SM-S918B)
```

## Common mistakes

### Using the user agent for features

Check whether the feature exists instead (if ("share" in navigator)). Browsers change, spoof each other and freeze their strings, so feature detection keeps working.

### Trusting a bot’s name

Anyone can send “Googlebot” in a request. Verify crawlers with the methods their operators publish, such as a reverse DNS lookup on the IP address.

### Matching “Chrome” before “Edg”

Edge, Opera, Samsung Internet and many others include the Chrome token too. Check for the specific browser first.

### Reading exact versions from Chrome

Chrome sends only its major version (130.0.0.0). Don’t rely on the minor or build numbers in logs.

## How it works

1. **Start with your own, or paste one:** The box shows the string your browser sends. Paste a different one from a log or an analytics export, or pick a sample.
2. **Read the result:** Browser and version, rendering engine, operating system, and whether it’s a desktop, phone, tablet or bot. Warnings point out what the string can’t tell you.
3. **Copy it:** Copy or download the result as JSON, including the client hints your browser exposes, if it has them.

## Questions

### What is a user agent string?

A line of text browsers send with every request, in the User-Agent header, naming the browser, its engine and the operating system. Apps, crawlers and command-line tools send one too.

### Why does every browser say Mozilla and Safari?

History. Sites once served better pages to particular browsers, so newer browsers copied the older ones’ tokens to get them. Chrome’s string mentions Mozilla, AppleWebKit, KHTML, Gecko and Safari. Parsers have to check the specific tokens (Edg/, OPR/, SamsungBrowser/) before the generic ones.

### Why can’t it tell Windows 10 from Windows 11?

Both send “Windows NT 10.0”. In Chromium browsers, a page can ask for the platform version through client hints (navigator.userAgentData.getHighEntropyValues); this page reads only the basic values and doesn’t ask for more.

### Why does my iPad show up as a Mac?

Since iPadOS 13, Safari on iPad requests desktop sites by default and sends the same string as Safari on a Mac. For your own device, this page also checks for a touch screen and says when a “Mac” is probably an iPad.

### Why does Chrome report 130.0.0.0 and Android 10; K?

Chrome reduced its user agent to limit fingerprinting. Only the major version is real, the OS version is frozen (Android 10, macOS 10.15.7, Windows NT 10.0) and the phone model is replaced by K.

## Related

- [Robots.txt generator](https://toolspace.tech/robots-txt-generator/)
- [HTTP status codes](https://toolspace.tech/http-status-codes/)
- [Meta tag generator](https://toolspace.tech/meta-tag-generator/)
- [Regex tester](https://toolspace.tech/regex-tester/)
