Firefox for Android user agent string

Firefox for Android reports the device's real Android major version (versions below 10 are reported as 10; "16" here is an example) and repeats the Firefox version in the Gecko/ token. It sends no device model. Below is a sample user agent string and what each part means.

Mozilla/5.0 (Android 16; Mobile; rv:158.0) Gecko/158.0 Firefox/158.0

At a glance

BrowserFirefox 158.0
EngineGecko 158.0
Operating systemAndroid 16
DevicePhone

String breakdown

FragmentMeaning
Mozilla/5.0Historical compatibility token. Nearly every browser claims "Mozilla/5.0" so that old servers do not serve it broken pages.
Android 16Android 16.
MobileMobile device marker — sites use it to serve the mobile layout.
rv:158.0Revision/version marker: 158.0.
Gecko/158.0Gecko engine token 158.0. Desktop Firefox freezes it at 20100101.
Firefox/158.0Firefox, version 158.0.

Other forms of this user agent

Desktop mode

Mozilla/5.0 (X11; Linux x86_64; rv:158.0) Gecko/20100101 Firefox/158.0

Use it in code

curl

curl -A "Mozilla/5.0 (Android 16; Mobile; rv:158.0) Gecko/158.0 Firefox/158.0" https://example.com

Python (requests)

import requests
requests.get("https://example.com", headers={"User-Agent": "Mozilla/5.0 (Android 16; Mobile; rv:158.0) Gecko/158.0 Firefox/158.0"})

Playwright (Node.js)

const context = await browser.newContext({ userAgent: "Mozilla/5.0 (Android 16; Mobile; rv:158.0) Gecko/158.0 Firefox/158.0" });

Source: Firefox user agent string reference · checked September 2026

Related user agents

All user agent strings →

What does your own browser send? Check your user agent →