Package Exports
- detectincognitojs/dist/detectIncognito.esm.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (detectincognitojs) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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 detectincognitojsimport { 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.