random-user-agent is a free, open source browsers & extensions project written in TypeScript and released under MIT. It has 760 GitHub stars, 82 forks and 30 open issues, and was last pushed 3 days ago. On this registry it ranks #136 of 150 tracked projects in Browsers & Extensions, with 5 head-to-head comparisons available.

What is random-user-agent?

Random User-Agent is a free, MIT-licensed TypeScript browser extension for Chrome, Firefox, Edge, and Opera that automatically replaces the browser's User-Agent identifier with a randomized one, intended for individuals who want a different fingerprint without configuring anything by hand.

What it is

Random User-Agent lives in the browser-extension ecosystem, published in the official Chrome, Firefox, Edge, and Opera stores and written in TypeScript under the MIT licence. It swaps the original browser User-Agent identifier โ€” described in its own README as a sort of "fingerprint" โ€” for a randomized value selected according to the user's preferences. The archived build is roughly 150 KiB, and the project advertises no initial setup: install it and the real User-Agent stops leaking.

The concrete problem it solves is the fixed, identifying User-Agent string every browser sends and exposes. Rather than hand-editing per-profile overrides or juggling separate browser instances to look different, a user installs the extension and lets it rewrite the value, and optionally rotate it. It also defends against JavaScript-based detection of the substitution, offers blacklist/whitelist exceptions, and can change the agent on browser startup or after a specified period of time.

Key capabilities

  • Replaces the User-Agent HTTP header with a randomized value, and randomization can be customized by specifying spoofed browsers and operating systems.
  • Automatic rotation: change the User-Agent on browser startup or after a specified period of time.
  • Protection against detection of the substitution by JavaScript.
  • Exceptions list supporting both blacklist and whitelist modes.
  • Remote User-Agents list: the extension sends a GET request to a URL such as a GitHub Gist or GitLab file, in a plain-text format that ignores // and # comments.
  • Distributed as .crx and .xpi release artifacts alongside the Chrome, Firefox, Edge, and Opera store listings.
  • Localization handled through the src/i18n directory.

Who uses it and how

  • Individual users on Chrome, Firefox, Edge, or Opera who install from a store link and leave the extension running, per the README's "install and forget" framing.
  • Privacy testers who verify the spoof against What is my User Agent, whoer, Browser Leaks, Device Info, CreepJS, and vytal scan; the README records 5 passed and 1 failed on webbrowsertools, and 2 passed and 1 failed on vytal.
  • Users with large User-Agent sets, who host their lists externally on GitHub Gist or GitLab because extension settings storage is size-limited.
  • Contributors and translators who work through src/i18n, and bug reporters without a GitHub account who email bugreport@random-user-agent.com.

Getting started

Install from one of the official store links at the top of the README, or download the random-user-agent.crx or random-user-agent.xpi file directly from the latest release on the releases page. No initial setup is required.

How it compares

No list of paid products this project replaces is provided in the facts, and no similar tools are named. It stands alone in this registry.

When to use it โ€” and when not to

This is a client-side extension, so there is no database, storage service, or SMTP server to operate, and self-hosting is not the deployment model โ€” distribution runs through store listings and release artifacts. Anyone who needs a stable, deterministic identity per site should not pick it, because rotation and randomization are the entire point. The honest weaknesses are in the facts: the README's own FAQ raises the question of whether the extension could make users more uniquely fingerprinted rather than less, the test table shows a failed check on webbrowsertools and on vytal, and the repository carries 30 open issues.

project readme (upstream, from github) โ€” read inline

logo

Automatically replaces the User-Agent with a randomized one

chrome   firefox   edge   opera

Random User-Agent is an open-source MIT-licensed browser extension that is designed to replace the original browser User-Agent identifier (is a sort of "fingerprint") with a randomized (based on your preferences).

opera

๐Ÿ”ฅ Features list

  • Incredibly lightweight (~150KiB archived)
  • Available in the official stores (Chrome, Firefox, Edge, Opera)
  • Can automatically change the User-Agent after a specified period of time
  • Change User-Agent on browser startup
  • Replaces the User-Agent HTTP header
  • Protection against detection by JavaScript
  • User-Agent randomization can be customized by the user (specifying spoofed browsers and OS, etc.)
  • Exceptions list (blacklist/whitelist) available
  • Allows the use of a remote User-Agents list
  • No initial setup needed - just install and forget about the real user-agent leaking

[!NOTE] ๐Ÿž If you encounter a bug with the extension but don't have a GitHub account (and prefer not to register for one), feel free to email it to bugreport@random-user-agent.com along with details about how to reproduce the bug, your operating system, and browser. Thank you!

๐Ÿงฉ Installation

Follow up by one of the links at the top ๐Ÿ‘† of this page, or download CRX (link) / XPI (link) file directly from the latest release from the releases page.

๐Ÿ›  Where do I can test the functionality?

Open one of the links below both with and without the extension enabled:

Resource Test
What is my User Agent โœ… 5 Passed / โŒ 1 Failed
vytal scan โœ… 2 Passed / โŒ 1 Failed
whoer โœ… Passed
Browser Leaks โœ… Passed
Device Info โœ… Passed
CreepJS โœ… Passed

๐Ÿ“ก Remote User-Agent List

Due to size limitations in the extension settings storage, you are unable to keep a large custom User-Agent list directly within the extension. Instead, you can host your list elsewhere and provide a link to it in the extension settings.

For example, you can create your own public repository/account on GitHub Gist, GitLab, or similar platforms, and host your list there.

The extension will send a GET request to the provided URL location. The supported list format is as follows:

// Comments like this will be ignored
 # Comments prefixed with '#' will also be ignored

Mozilla/5.0 (Macintosh; Intel Mac OS X 11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4619.141 Safari/537.36
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4593.122 Safari/537.36

// Additional user-agents can be listed here

[!NOTE]

๐Ÿ“œ How to translate (localize) this extension?

...or fix translation mistakes. The translation process described here

๐Ÿ‘€ FAQ

Most questions can be answered by reading the issues. If the issues don't answer your question, open up a new discussion. If you find a bug or have a feature request, please file a new issue.

Could this extension actually be making users more uniquely fingerprintable, not less?

Faking your user agent might make you more fingerprintable, not less. There are ways other than User-Agent sniffing to determine what browser you're using, so malicious sites could learn what browser you're really using through other means and then combine that with your randomly changing User-Agent to pretty effectively track you. For background, see this GitHub issue.

Why do hotkeys on some sites no longer work?

This may occur because your User-Agent simulates MacOS - in this case, some websites attempt to handle โŒ˜ cmd key instead of ctrl. To fix this issue, simply disable the MacOS User-Agent in the extension generator settings.

Are keyboard shortcuts supported?

Yes, keyboard shortcuts are supported. The default shortcut for user-agent renewal is Ctrl+Shift+U. You can change it in your browser settings: chrome://extensions/shortcuts (in Google Chrome).

๐Ÿฆพ Contributors

I want to express my heartfelt gratitude to everyone who has contributed to this project:

contributors

๐Ÿ›ก Privacy Policy

[!IMPORTANT] TL;DR: Random User-Agent has never collected and will never collect any personal data or browsing history.

You can find the full privacy policy text here.

๐Ÿš€ How to publish a release

[!NOTE] This note is for me, so I don't forget anything...

  1. Make the required changes in this repository and test them locally
  2. Publish a new release using the releases page
  3. Open the "Chrome Web Store Developer Dashboard", send a draft to review
  4. Download the main.crx file from the dashboard, rename it to random-user-agent.crx, and upload it to the release on GitHub
  5. Open the "Mozilla add-on developer hub", download the random_user_agent_X.X.X-blabla.xpi file from the dashboard (after receiving Approved status for the version), rename it to random-user-agent.xpi, and upload it to the release on GitHub
  6. Don't forget to update the Edge and Opera stores
  7. Open a bottle of beer; you've earned it!

Frequently asked questions

Is random-user-agent free to use?

random-user-agent is open source under the MIT licence. There is no licence fee and no seat count โ€” you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does random-user-agent do?

๐Ÿ˜Ž Browser extension that automatically replaces the User-Agent with a randomized one

What is random-user-agent written in?

random-user-agent is primarily written in TypeScript. Its source is publicly available at https://github.com/tarampampam/random-user-agent, and it has 760 GitHub stars.