Lattice
A workspace for your research.
Chat exports → history. Android ⇄ iPhone. Free, local, open source.
Translation pending
ProductivityPython · HTMLGitHub @menaxmagedOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Move WhatsApp chat history between chat exports, Android and iPhone — CLI + local web GUI
Translation pending
Loading the full README.
Read the full README ↗Move your WhatsApp chat history between chat exports, Android and iPhone. Free, local, open source.
wakit is a command-line tool with a local web GUI. It can:
.zip / _chat.txt with media) back into real chat history on AndroidEverything runs on your own computer. Nothing is uploaded anywhere.
Website: https://wakit-site.vercel.app
wakit is not affiliated with WhatsApp or Meta. It edits your own WhatsApp databases, so keep backups. Every tool is a dry run until you pass
--apply, and each write makes a backup first.
You don't need Python. Download the app for your computer from the latest release, then double-click it to open the GUI, or run it in a terminal with a command (wakit import …).
| System | File |
|---|---|
| macOS (Apple silicon) | wakit-macos-arm64 |
| Windows | wakit-windows-x86_64.exe |
| Linux (x86_64) | wakit-linux-x86_64 |
The apps aren't signed, so the first launch needs one extra step:
chmod +x wakit-macos-arm64 && xattr -d com.apple.quarantine wakit-macos-arm64 once, or right-click it and choose Open.chmod +x wakit-linux-x86_64.Intel Macs and other systems: install with pip as shown below.
Needs Python 3.9+. There are no Python dependencies.
pipx install wakit # or: pip install wakit
wakit # list the commands
wakit gui # open the GUI in your browser
For Android's encrypted backups (wakit crypt), add the one optional dependency: pipx install "wakit[crypt]".
Device tools, only for the steps that touch a phone:
| For | macOS | Linux |
|---|---|---|
Android (device, --push) | brew install android-platform-tools | apt install adb |
iPhone (ios-backup backup/restore) | brew install libimobiledevice | apt install libimobiledevice-utils |
Most Android steps work on a rooted phone, because WhatsApp's database lives in /data/data/com.whatsapp, where only root can read and write. No root? Use the phone's encrypted backup instead. See workflow 5. That needs one extra package: pip install "wakit[crypt]". The iPhone side needs no jailbreak. It works through an ordinary unencrypted backup.
wakit gui
This opens a page served by your computer only (127.0.0.1, with a one-time access token in the link). It has:
wakit device pull --out phone/ # WhatsApp is disabled while copying
wakit import --db phone/msgstore.db --export "WhatsApp Chat - Alex.zip" --contact 15551234567
# ... check the counts, then:
wakit import --db phone/msgstore.db --export "WhatsApp Chat - Alex.zip" --contact 15551234567 \
--apply --push --phone-root /sdcard/WhatsApp
wakit device install --db phone/msgstore.db # owner + SELinux label copied, then WhatsApp starts
[dd/mm/yyyy, h:mm:ss AM] Name: …) and Android exports (dd/mm/yyyy, hh:mm - Name: …) in either date order.--me "Your Name" with your name as it appears in the export.wakit ios-backup backup --out ~/Backups # or use a Finder / 3uTools backup (unencrypted)
wakit device pull --out phone/
wakit from-ios --db phone/msgstore.db --backup ~/Backups/<device-id> # dry run
wakit from-ios --db phone/msgstore.db --backup ~/Backups/<device-id> --apply --push --phone-root /sdcard/WhatsApp
wakit stickers-from-ios --db phone/stickers.db --backup ~/Backups/<device-id> --files-out Stickers --apply
wakit device install --db phone/msgstore.db
Chats are matched by WhatsApp id (including the newer @lid ids), so the iPhone history and the Android history of the same person end up in one chat.
This is the beginning of the README. Read the rest at the original. Read the full README ↗