Documentation Blog Free tools [email protected]Log in

What is my user agent?

Your browser sends a user agent string with every request. Below is yours, what a server reads from it, and the Client Hints that are gradually replacing it. Everything is read locally in your browser and copied only when you press the button.

Your user agent string
Reading…
What a server reads from it
Client Hints

How to read a user agent string

The format is a historical accident, and that is the honest explanation for why it looks the way it does. Nearly every browser claims to be several others. A current Chrome string starts with Mozilla/5.0, mentions AppleWebKit and KHTML, like Gecko, then Chrome, then Safari. None of that is a lie the browser tells for fun: each token was added so that servers written for an older browser would keep serving the page.

What is actually informative is the small part at the end: the product name and version of the browser, the platform token in brackets, and whether Mobi appears. That is what the table above extracts.

Client Hints: what is replacing the string

Because the user agent string is a fingerprinting surface, Chromium browsers have been freezing it — the version numbers stop being precise and the platform detail gets coarser. The replacement is User-Agent Client Hints: instead of one string that carries everything, the browser sends a small set by default and the server has to ask for more.

Firefox and Safari have not implemented them, so if the panel above is empty, that is why. In practice this means server-side detection built on the user agent string is getting less reliable every year, and anything important should be built on feature detection instead.

Why user agents matter when you fetch pages

If you request pages programmatically, the user agent you send is part of how sites decide what to do with you. Three points worth knowing:

  • Identify yourself honestly if you are a bot. A crawler with its own named user agent can be allowed or blocked deliberately in robots.txt, which is the outcome you want.
  • A user agent alone does not make you look like a browser. Sites also see the TLS handshake, the header order and the HTTP/2 settings. A Python client claiming to be Chrome is trivially distinguishable from Chrome.
  • Do not send a stale one. A three-year-old Chrome version is a stronger bot signal than an honest client string.

Questions about user agents

What is a user agent string?

A header your browser sends with every request that names the browser, its rendering engine and the operating system. Servers use it to detect the platform, count browsers, and sometimes to serve different content.

Why does my user agent say Mozilla when I use Chrome?

Historical compatibility. Early servers checked for “Mozilla” before serving modern pages, so every browser kept the token. The same reason explains “AppleWebKit”, “KHTML, like Gecko” and the trailing “Safari” in a Chrome string.

How do I change my user agent?

In Chrome or Edge, open DevTools, then Network conditions, uncheck “Use browser default” and pick or type one. Firefox exposes general.useragent.override in about:config. For scripted requests you set the header on the client.

What are Client Hints and why is my browser not showing any?

Client Hints are the structured replacement for the user agent string: the browser sends a minimal set and the server requests more detail if it needs it. Chromium browsers implement them; Firefox and Safari do not, so the panel stays empty there.

Can a website see more than my user agent?

Yes — your IP address, the languages you accept, your screen size, time zone, and the shape of your TLS handshake, among others. The user agent is one signal among many, which is why changing it alone does not make you anonymous.

What user agent should a scraper send?

Either an honest bot string that names you and links to a page explaining the crawler, or a current, complete browser string that matches the rest of your client. A mismatched or years-old string is a clearer bot signal than either.

When the user agent is not enough

Fetching pages at scale means matching TLS fingerprints, header order and IP reputation, not just a header. Our API does that and returns the page as Markdown.

Get my free API key

Free key, $2 of usage credit every month, no credit card.

Get my free API key