Camoufox
🦊 Anti-detect browser
Install / Use
/learn @daijro/CamoufoxREADME
[!NOTE] All of the latest documentation is avaliable at camoufox.com.
[!NOTE] Browser development is active at github.com/CloverLabsAI/camoufox. (See activity)<br>
<hr width=50>[!NOTE] To make use of the alpha Camoufox releases, use the
cloverlabs-camoufoxpip package.
Sponsors
<details open> <summary>View</summary> <table> <tr> <td width="30%" align="center" valign="middle"> <a href="https://scrapfly.io/?utm_source=github&utm_medium=sponsoring&utm_campaign=camoufox" target="_blank"> <img src="https://raw.githubusercontent.com/daijro/camoufox/main/assets/scrapfly.png" alt="Scrapfly.io" width="200"> </a> </td> <td valign="middle"> <a href="https://scrapfly.io/?utm_source=github&utm_medium=sponsoring&utm_campaign=camoufox">Scrapfly</a> is an enterprise-grade solution providing Web Scraping API that aims to simplify the scraping process by managing everything: real browser rendering, rotating proxies, and fingerprints (TLS, HTTP, browser) to bypass all major anti-bots. Scrapfly also unlocks the observability by providing an analytical dashboard and measuring the success rate/block rate in detail. </td> </tr> <tr> <td width="30%" align="center" valign="middle"> <a href="https://cloverlabs.ai/?utm_source=github&utm_medium=sponsoring&utm_campaign=camoufox" target="_blank"> <img src="https://i.imgur.com/I3oe7xG.jpeg" alt="cloverlabs.ai" width="300"> </a> </td> <td valign="middle"> <a href="https://cloverlabs.ai/?utm_source=github&utm_medium=sponsoring&utm_campaign=camoufox">Clover Labs</a> is a Toronto based venture studio building AI agents for growth and distribution. </td> </tr> <tr> <td width="30%" align="center" valign="middle" height="100"> <a href="https://serpapi.com/use-cases/web-search-api?utm_source=camoufox" target="_blank"> <img width="350" alt="color horizontal" src="https://github.com/user-attachments/assets/cdf90178-869e-4f85-8288-3fe32da319d9"/> </a> </td> <td valign="middle"> <a href="https://serpapi.com/use-cases/web-search-api?utm_source=camoufox">SerpApi, a web search API</a> to scrape Google and other search engines with a simple API. </td> </tr> <tr> <td width="30%" align="center" valign="middle"> <a href="https://www.thordata.com/?ls=github&lk=camoufox" target="_blank"> <img alt="thordata" src="https://github.com/user-attachments/assets/fa79fe26-633b-44a4-a2a8-bce570f180ca" width="350"/> </a> </td> <td valign="middle"> <a href="https://www.thordata.com/?ls=github&lk=camoufox">Thordata</a> - Your First Plan is on Us! 💰 Get 100% of your first residential proxy purchase back as wallet balance, up to $900.<br><br> <b>⚡ Why Thordata?</b><br><br> 🌍 190+ real residential & ISP IP locations<br> 🔐 Fully encrypted, ultra-secure connections<br> 🚀 Optimized for web scraping, ad verification & automation workflows<br><br> 🔥 Don't wait - this is your <b>best time to start</b> with <a href="https://www.thordata.com/?ls=github&lk=camoufox">Thordata</a> and experience the safest, fastest proxy network. </td> </tr> <tr> <td width="30%" align="center" valign="middle"> <a href="https://proxyempire.io/?ref=camoufox&utm_source=camoufox" target="_blank"> <img width="380" alt="proxyempire" src="https://github.com/user-attachments/assets/d1c5f849-5cb0-4aff-b48c-530bda2ee03f"/> </a> </td> <td valign="middle"> <b>🚀 Camoufox × ProxyEmpire</b><br><br> Running Camoufox? Your proxy layer decides whether you scale — or get blocked.<br><br> <a href="https://proxyempire.io/?ref=camoufox&utm_source=camoufox">ProxyEmpire</a> delivers:<br> 🌍 30M+ Residential IPs (170+ countries)<br> 📱 4G/5G Mobile Proxies<br> 🔄 Rotating & Sticky Sessions<br> ⚡ Unlimited Concurrent Sessions<br> 🎯 Precise geo-targeting<br> HTTP, HTTPS & SOCKS5 Support<br><br> Built for scraping, automation, and high-stealth workflows.<br><br> <b>🔥 Exclusive Offer</b><br> Use code <b>Camoufox30</b><br> Get <b>30% recurring discount</b> (not just first month).<br> Upgrade your proxies. Reduce bans. Scale properly </td> </tr> <tr> <td width="30%" align="center" valign="middle"> <a href="https://birdproxies.com/t/camoufox" target="_blank"> <img width="380" alt="birdproxies" src="https://github.com/user-attachments/assets/e146836d-eb92-4b05-8bd9-120fd95dca10"/> </a> </td> <td valign="middle"> Hey, we built BirdProxies because proxies shouldn't be complicated or overpriced. Fast residential and ISP proxies in 195+ locations, fair pricing, and real support.<br> Try our FlappyBird game on the landing page for free data!<br> <a href="https://birdproxies.com/t/camoufox">Try Now</a> | <a href="https://discord.com/invite/birdproxies">Discord</a> </td> </tr> </table> </details>Introduction
Camoufox is a modern & effective open source solution for avoiding bot detection and intelligent fingerprint rotation.
Highlights
- Invisible to anti-bot systems 🎭
- Page agent is hidden from JavaScript inspection. See the stealth page for more details.
- Fingerprint injection & rotation (without JS injection!)
- All navigator properties (device, OS, hardware, browser, etc.) ✅
- Screen size, resolution, window, & viewport properties ✅
- Geolocation, timezone, locale, & Intl spoofing ✅
- WebRTC IP spoofing at the protocol level ✅
- Voices, speech playback rate, etc. ✅
- And much, much more!
- Anti Graphical fingerprinting
- WebGL parameters, supported extensions, context attributes, & shader precision formats ✅
- Font spoofing & anti-fingerprinting ✅
- Quality of life features
- Human-like mouse movement 🖱️
- Blocks & circumvents ads 🛡️
- No CSS animations 💨
- Debloated & optimized for memory efficiency ⚡
- PyPi package for updates & auto fingerprint injection 📦
- Stays up to date with the latest Firefox version 🕓
Fingerprint Injection
In Camoufox, data is intercepted at the C++ implementation level, making the changes undetectable through JavaScript inspection.
To spoof individual fingerprint properties, pass a JSON containing properties to spoof to the Python interface:
>>> with Camoufox(config={"property": "value"}) as browser:
Config data not set by the user will be automatically populated using BrowserForge fingerprints, which mimic the statistical distribution of device characteristics in real-world traffic.
Python Usage
Camoufox is compatible with your existing Playwright code. You only have to change your browser initialization.
Sync API
from camoufox.sync_api import Camoufox
with Camoufox() as browser:
page = browser.new_page()
page.goto("https://example.com")
Async API
from camoufox.async_api import AsyncCamoufox
async with AsyncCamoufox() as browser:
page = await browser.new_page()
await page.goto("https://example.com")
Making Full use of Hardware Spoofing
For stable releases, you should always use the main camoufox pip package. However, if you want to make use of per-context fingerprints and hardware spoofing, use the cloverlabs-camoufox package. This package is updated with each releases, whereas the official package is released on delay.
Make sure you are using a virtual env to avoid conflicts between the two packages.
Installation
pip install cloverlabs-camoufox
Fetch the latest prerelease browser (recommended for newest patches)
python -m camoufox sync
python -m camoufox set official/prerelease
python -m camoufox fetch
Usage — the API is identical to the upstream package:
from camoufox.sync_api import Camoufox
with Camoufox() as browser:
page = browser.new_page()
page.goto("https://example.com")
Capabilities
Below is a list of patches and features implemented in Camoufox.
Fingerprint spoofing
- Navigator properties spoofing (device, browser, locale, etc.)
- Support for emulating screen size, resolution, etc.
- Spoof WebGL parameters, supported extensions, context attributes, and shader precision formats.
- Spoof inner and outer window viewport sizes
- Spoof AudioContext sample rate, output latency, and max channel count
- Spoof device voices & playback rates
- Spoof the amount of microphones, webcams, and speakers available.
- Network headers (Accept-Languages and User-Agent) are spoofed to match the navigator properties
- WebRTC IP spoofing at the protocol level
- Geolocation, timezone, and locale spoofing
- Battery API spoof
