detectIncognito.js
Efficiently detect Incognito mode & other private browsing modes across most modern browsers.
Shameless plug: Looking for a powerful user tracking and bot detection solution?
Features
- ✅ Incognito detection on Google Chrome
- ✅ Private Window detection on Safari (macOS)
- ✅ Private Tab detection on Safari (iOS)
- ✅ Private Window detection in Firefox
- ✅ InPrivate Window detection on Microsoft Edge
- ✅ InPrivate Window detection on Microsoft Internet Explorer
- ✅ Private Window detection in Brave (see notes)
- ✅ Private Window detection in Opera
Demo
Check out the live demo.
Usage
Get the script from CDN (may be blocked by adblockers—see notes):
<script src="https://cdn.jsdelivr.net/gh/Joe12387/detectIncognito@main/dist/es5/detectIncognito.min.js"></script>
Or install via NPM:
npm i detectincognitojs
import { detectIncognito } from "detectincognitojs";
detectIncognito().then((result) => {
console.log(result.browserName, result.isPrivate);
});
Supported Browsers
Browser | Platform(s) | Versions | Notes |
---|---|---|---|
Safari | All | ≤ 18.4 | |
Chromium | All | 50 to 137 Beta | Detection broken by predictable-reported-quota flag (Issue #49) |
Firefox | All | 44 to 138 | |
MSIE | Windows | 11 | Requires Promise polyfill |
Notes
- False positives can occur in certain browser setups or Chrome Guest mode (Issue #21).
- Firefox Container Tabs aren't detected by this.
- The script must run over HTTPS—running locally or via HTTP might fail.
- Brave and uBlock Origin block the CDN; hosting the script yourself avoids this issue.
- An error is thrown if the browser can't be identified.
Similar Projects
- OverpoweredJS – An advanced browser fingerprinting & bot detection solution.
License
Copyright © 2025 Joe Rutkowski
Distributed under the MIT License.