Developer Reference

Common User Agent Strings

A complete, searchable reference of user agent strings for desktop browsers, mobile devices, tablets, and search engine crawlers — ready to copy for testing.

What is a user agent string?

A user agent string is a text identifier sent by your browser with every HTTP request. It tells websites your browser name, version, operating system, and device type. For example, Chrome on Windows sends a string containing 'Chrome/120.0.0.0' and 'Windows NT 10.0'. Websites use this information for compatibility, analytics, and content adaptation.

Anatomy of a User Agent String

Every user agent string follows a pattern, though it's famously convoluted. Let's break down a Chrome on Windows UA string:

Edge's user agent adds Edg/120.0.0.0 at the end (note: "Edg" not "Edge" — the shorter form distinguishes Chromium-based Edge from the legacy EdgeHTML engine). Opera appends OPR/105.0.0.0 . Samsung Internet adds SamsungBrowser/23.0 .

Your own user agent, decoded

The same breakdown applied to the string your browser is sending right now — each token colour-coded by what it actually describes.

Using User Agent Strings for Testing

User agent strings from this page can be used in multiple testing scenarios:

Chrome DevTools: Open Network Conditions (Ctrl+Shift+P → "Show Network conditions"), uncheck "Use browser default", and paste any UA string from above.

Automated testing: Set custom UA in Playwright with page.setExtraHTTPHeaders or Puppeteer with page.setUserAgent() .

API testing: Add User-Agent header in Postman, curl, or fetch requests to simulate different clients.

Bot detection testing: Use Googlebot or Bingbot UA strings to verify your site serves correct content to crawlers.

Mobile vs Desktop User Agent Differences

The key indicator of a mobile browser in the UA string is the word Mobile . Chrome on Android includes "Mobile Safari/537.36" while the desktop version has just "Safari/537.36". iOS Safari includes "Mobile/15E148". Samsung Internet includes "Mobile" as well.

iPadOS is an exception: Since iPadOS 13, Safari on iPad sends a macOS user agent by default (the "Request Desktop Website" setting is on by default). This means you cannot distinguish an iPad from a Mac using the UA string alone — you need navigator.maxTouchPoints as an additional signal.

For bot detection, look for common patterns: /bot|crawl|spider|slurp|mediapartners/i catches most legitimate crawlers. However, sophisticated scrapers use real browser UA strings, so don't rely solely on UA checking for security-critical bot detection.

Frequently Asked Questions

What is a user agent string?

A user agent string is a text identifier sent by your browser with every HTTP request. It tells websites your browser name, version, operating system, and device type. For example, Chrome on Windows sends a string containing 'Chrome/120.0.0.0' and 'Windows NT 10.0'. Websites use this information for compatibility, analytics, and content adaptation.

Why do all browsers include 'Mozilla' in their user agent?

This is a historical artifact. In the 1990s, Mozilla (Netscape) was the dominant browser, and many websites served better content only to Mozilla. When Internet Explorer and other browsers launched, they added 'Mozilla/5.0' to their UA strings to receive the same content. This convention has persisted ever since — every modern browser starts with 'Mozilla/5.0'.

What does 'AppleWebKit/537.36 (KHTML, like Gecko)' mean?

This identifies the browser engine. AppleWebKit is the rendering engine originally from Apple's Safari. Chrome, Edge, Opera, and Samsung Internet all use a WebKit fork called Blink, but still include 'AppleWebKit/537.36' for compatibility. 'KHTML, like Gecko' is another compatibility token from when KHTML (KDE's engine) and Gecko (Firefox's engine) were common.

How can I change my user agent string?

In Chrome DevTools: Open Network Conditions (Ctrl+Shift+P → 'network conditions'), uncheck 'Use browser default' and enter a custom string. In Firefox: set 'general.useragent.override' in about:config. Browser extensions like User-Agent Switcher allow easy switching. On mobile, most browsers don't support UA customization natively.

How do I detect a bot or crawler from the user agent?

Search crawlers typically identify themselves in the UA string. Googlebot includes 'Googlebot', Bingbot includes 'bingbot', and most legitimate crawlers include 'bot', 'crawler', or 'spider'. Check for: /bot|crawler|spider|crawling/i.test(navigator.userAgent). However, malicious bots often use regular browser UA strings to avoid detection.

Is the user agent string being deprecated?

Google is gradually reducing (freezing) Chrome's user agent string through the User-Agent Reduction initiative. Instead of detailed version and platform info, Chrome will send a generic, less identifying string. The replacement is User-Agent Client Hints, which provides the same data in a privacy-preserving, structured format. Firefox and Safari have not announced similar plans.