wakit / Guides
Move WhatsApp from iPhone to Android
wakit reads an ordinary unencrypted iPhone backup and adds its WhatsApp chats to your Android phone. Chats are matched person by person, including WhatsApp's newer @lid ids, so each conversation ends up as one chat, with no duplicates.
What you need
- A computer with wakit and
adb - An unencrypted iPhone backup (Finder, iTunes, 3uTools, or
wakit ios-backup backup) - The Android phone, rooted. Without root, see the encrypted-backup route
Steps
Prefer clicking? Run wakit gui (or double-click the app): the same steps are under
Guides, with file pickers and Dry run / Apply buttons. Every command is a dry run until you add --apply.
Back up the iPhone (unencrypted)
Turn backup encryption off first. wakit can't read encrypted backups.
$ wakit ios-backup backup --out ~/BackupsCopy WhatsApp off the Android phone
WhatsApp is disabled while copying.
$ wakit device pull --out phone/Dry run, then import
Point
--backupat the full backup folder. wakit extracts WhatsApp's files from it by itself.--pushsends the photos and voice notes to the phone.$ wakit from-ios --db phone/msgstore.db --backup ~/Backups/<device-id> $ wakit from-ios --db phone/msgstore.db --backup ~/Backups/<device-id> --apply --push --phone-root /sdcard/WhatsApp
Your stickers too (optional)
$ wakit stickers-from-ios --db phone/stickers.db --backup ~/Backups/<device-id> --files-out Stickers --applyPut it back and start WhatsApp
wakit copies the file's owner and SELinux label, which prevents "something went wrong with chat history".
$ wakit device install --db phone/msgstore.db
What carries over
Text, links, photos with captions, videos, GIFs, voice notes, stickers, documents, contact cards, locations, deleted-message markers and group senders. Polls, reactions and calls don't carry over.
Questions
Does the Android phone need root?
For writing straight into WhatsApp's database, yes: it lives in a folder only root can reach. The experimental no-root route edits WhatsApp's end-to-end encrypted backup instead.
What if the Android phone already has some of the same chats?
They're merged. Messages already there, matched by id or by sender, text and time, are skipped, so running it twice never duplicates anything.