Unlock and analyze your WhatsApp chat history from Android backups. Everything runs on your own computer — your messages stay private and never leave your device.
- Unlocks encrypted backups: Converts your encrypted WhatsApp backup files (
.crypt15) into a readable database - Analyzes your chats locally: Lets you search and analyze your messages in a web browser without uploading anything to the internet
- Filters and explores: Search by date, media type (photos, videos, etc.), sender, or specific conversations
- Visual insights: See charts showing your messaging activity and get statistics about your chats
This project has two parts:
chatsExporter/— A Python tool that unlocks your encrypted backup filesweb/— A web application where you can search and analyze your messages
Before starting, make sure you have:
- Python 3.9 or newer installed on your computer (Download here)
- Node.js 18 or newer installed (Download here)
- Your WhatsApp encryption key (a 64-character code needed to unlock backups)
- Your WhatsApp backup files (
.crypt15files from your Android phone) - A list of your chats exported as a JSON file
Note for Mac/Linux users: The commands shown are for Windows PowerShell. You may need to adjust them slightly for your system.
First, you need to get your WhatsApp backup files from your phone to your computer.
- Create a backup: Watch this video (watch until 01:39) for instructions on creating your WhatsApp backup file
- Find the backup: On your Android phone, the backup is located at:
Android/media/com.whatsapp/WhatsApp/Databases - Transfer to PC: You can copy the file as you want, or use this command if you have adb installed:
adb pull /storage/emulated/0/Android/media/com.whatsapp/WhatsApp/Databases ./Now we'll convert the encrypted backup into a usable database file.
- Navigate to the decryption tool folder:
cd ".\chatsExporter"- Set up your configuration:
cp .env.example .env-
Edit the
.envfile (open it with Notepad or any text editor) and fill in:ENCRYPTION_KEY— Your 64-character WhatsApp backup encryption keyTARGET_DIR— The folder path where you saved your.crypt15backup files
-
Run the decryption tool:
python whatsapp_db_android_exporter.pyThe tool will create unlocked database files (.db files) in the same folder as your backup files.
The web application needs a list of your chats to display names properly. Here's how to export it:
- Open WhatsApp Web at
https://web.whatsapp.comin your browser - Wait for all your chats to load completely
- Press
F12to open Developer Tools - Go to the Sources tab, then click Snippets
- Click + New snippet to create a new one
- Open the file
dumpWAChats.jsfrom this project, copy all its contents - Paste the code into the snippet you just created
- Click the Run button (play icon) at the bottom
- The browser will automatically download a file called
model-storage-chat.json
Now for the fun part — exploring your chat history!
- Start the web application:
cd ".\web"
npm install
npm start-
Open your browser and go to
http://localhost:3000 -
Follow the three steps in the application:
- Step 1 (Upload Files):
- Upload the
msgstore.dbfile (created in Step 1) - Upload the
model-storage-chat.jsonfile (created in Step 2)
- Upload the
- Step 2 (Search & Filter):
- Step 3 (View Results):
- Step 1 (Upload Files):
- Everything stays on your computer: All analysis happens in your web browser. Your messages are never uploaded to the internet or sent to any server
- Only use your own data: Only decrypt and analyze backup files that belong to you
This tool is designed for personal use. Please use it responsibly:
- Only analyze your own WhatsApp backups
- Respect privacy laws and terms of service
- Don't use this tool to access someone else's messages without permission
- This project is an independent, open-source effort and is not affiliated with, endorsed by, or sponsored by WhatsApp or Meta Platforms, Inc.
- You are solely responsible for how you use this software. Misuse may violate laws or WhatsApp’s Terms of Service and could lead to account restrictions, data loss, or legal consequences.
- Use at your own risk. The authors and contributors provide this software “as is” without any warranties or guarantees of any kind.