Move WhatsApp chat history between chat exports, Android and iPhone — CLI + local web GUI
翻译准备中
正在加载完整 README。
查看完整 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.
以上为 README 的开头部分。其余内容请阅读原文。 查看完整 README ↗