Privacy-first follower/following comparison for Chrome and Edge. Version 2.2.0 supports a live browser scan and local analysis of Instagram's official JSON export.
This project is independent and is not affiliated with, endorsed by, or sponsored by Instagram or Meta.
- Accounts you follow that do not follow you back
- Followers you do not follow back
- Mutual connections
- Capture coverage and verification status
- CSV and JSON export for verified results
- Search, sorting, incremental rendering, and light/dark themes
whoisit never asks for an Instagram password or cookie. Live requests execute inside the already signed-in instagram.com tab. The extension has no cookies permission, contains no analytics, loads no third-party scripts, and does not upload results. Official export files are processed entirely in the browser.
Never paste session cookies into an issue, chat, screenshot, or configuration file. If a cookie is exposed, sign out of Instagram sessions and rotate the account password.
- Download and extract the release ZIP.
- Open
chrome://extensionsin Chrome oredge://extensionsin Edge. - Enable Developer mode.
- Select Load unpacked.
- Choose the extracted
extensionfolder—not the project root. - Open Instagram, sign in, and refresh that tab once.
- Open the whoisit extension and select Open Dashboard.
When upgrading an unpacked version, replace the files, select Reload on the extensions page, and refresh the Instagram tab. This refresh is required because the page worker is injected when Instagram loads.
- In the dashboard, select Check connection.
- Follow @cybroatrix with the signed-in Instagram account.
- Return to the dashboard and select Check connection again. The live-analysis button unlocks only after Instagram confirms the follow relationship.
- Enter the account you own or are authorized to analyze.
- Select Start live analysis and keep the Instagram tab open.
The follow requirement is enforced both in the dashboard and inside the Instagram worker before relationship pagination begins. Changing only the page UI does not bypass it.
Live scans can be rate-limited or made incomplete by Instagram. A result is marked verified only when its capture reaches the reported totals or stabilizes under the documented retry rule. Partial results are labeled and exports remain disabled.
This is the most reliable method for large accounts and does not require the extension or follow check.
- In Instagram Accounts Center, open Your information and permissions → Export your information → Export to device.
- Choose JSON format and include Followers and following.
- Extract the downloaded archive.
- Open the dashboard's Data export tab.
- Select all
followers_*.jsonfiles plusfollowing.jsonorfollowing_*.json. - Select Analyze selected files.
Requirements: Node.js 20 or later.
npm run serveOpen http://localhost:4173/website/. The extension bridge accepts localhost, 127.0.0.1, cybroatrix.com, and www.cybroatrix.com. File analysis works without the extension.
Edit website/config.js before building:
globalThis.whoisitConfig = Object.freeze({
version: "2.2.0",
requiredFollowUsername: "cybroatrix",
instagramUrl: "https://www.instagram.com/cybroatrix/",
githubUrl: "/itzstebin",
discordUrl: "https://discord.gg/MkZFyksWr3"
});Then update visible version strings in package.json, extension/manifest.json, website/index.html, and extension/popup.html, and run npm run build. See docs/CONFIGURATION.md for a release checklist.
There are no runtime npm dependencies.
npm test
npm run check
npm run benchmark
npm run buildnpm testruns parsing, comparison, extension-contract, capture-quality, and follow-gate tests.npm run checkvalidates JavaScript syntax, Manifest V3 policy, expected UI elements, and forbidden cookie/eval/HTML-injection patterns.npm run benchmarkmeasures the local set-comparison algorithm at 1k, 10k, and 100k records.npm run buildcopies the canonical website dashboard, configuration, and assets intoextension/.
Always run npm run build before testing or packaging. Do not edit extension/dashboard.html, dashboard.css, dashboard.js, or dashboard-core.js directly; they are generated copies.
website/ Canonical dashboard UI, configuration, core logic, and logo
extension/ Manifest V3 worker, bridges, popup, and built dashboard
tests/ Deterministic Node tests
scripts/ Build, check, serve, benchmark, and reporting utilities
docs/ Configuration, audit, and benchmark documentation
- Live mode depends on undocumented Instagram web endpoints that can change without notice.
- Instagram can rate-limit requests, request a security check, reorder pages, or return incomplete lists.
- Private or restricted profiles may not be available to the signed-in account.
- Exact results for large accounts should use the official export workflow.
- Use the project only for accounts you own or have permission to analyze, and follow applicable platform rules and laws.
- Developer: itzstebin on GitHub
- Community: Discord
- Instagram: @cybroatrix
Bug reports should include the app version, browser version, scan mode, exact error text, and sanitized steps to reproduce. Never include cookies, passwords, exported account data, or personal results.