A privacy-focused, highly optimized Chrome Extension that extracts participant data (phone numbers, names, and admin status) directly from active WhatsApp Web groups. Built entirely with the WXT Framework and React, WA+ bypasses traditional DOM-scraping limitations by tapping securely into the Main World execution context to interface with internal WhatsApp Webpack modules.
- Blazing Fast Extraction: Hooks directly into WhatsApp's internal IndexedDB (
model-storage) to pull participant arrays and metadata, bypassing all scrolling and UI-scraping bottlenecks. - Privacy First: 100% of data extraction and CSV/JSON generation happens entirely locally on your machine. Absolutely zero data is sent to external servers.
- Rich Metadata Options: Configurable extraction allows you to strip it down to just Phone Numbers and Names, or expand it to include Pushnames, Admin Status, Business/Enterprise flags, and raw LIDs.
- Modern UI/UX: Built with React, featuring a sleek, dark-themed Glassmorphism Bento Box layout.
- HMR Enabled: Built on the WXT framework, powered by Vite, enabling instant Hot Module Replacement during development.
Because this extension uses Manifest V3 and the WXT build system, you'll need Node.js installed to build it locally.
- Node.js (v18+)
pnpm(recommended),npm, orbun
git clone https://github.com/Mazafard/wa-plus.git
cd wa-pluspnpm installpnpm run buildThis command compiles the React code and generates the final extension inside the dist/chrome-mv3/ folder.
- Open Chrome and navigate to
chrome://extensions/. - Toggle Developer Mode on (top right corner).
- Click Load unpacked (top left).
- Select the
dist/chrome-mv3/folder generated in the previous step. - Pin the WA+ extension to your toolbar!
To spin up the local development environment with instant Hot Module Replacement (HMR):
pnpm run devThis will automatically launch a sandboxed instance of Chrome with the extension pre-loaded. Any changes you make to App.tsx or the extraction utilities will instantly reflect in the extension without needing to manually reload it.
To generate a production-ready .zip file for publishing to the Chrome Web Store:
pnpm run zipThe zip file will be generated in the dist/ directory (e.g., dist/wa-plus-1.1.5-chrome.zip).
To generate the .zip file for Mozilla Firefox:
pnpm run zip:firefoxThe zip file will be generated in the dist/ directory (e.g., dist/wa-plus-1.1.5-firefox.zip). This step perfectly reproduces the exact compiled files submitted to the Mozilla Add-ons Store.
This project is licensed under the MIT License - see the LICENSE file for details.
Disclaimer: This project was built strictly for educational purposes to explore the WXT framework and Chrome Extension APIs. The author assumes no legal responsibility or liability for how this software is used. However, you are completely free to fork, modify, or use this code as a base to create your own instances!