Start
The app checks that its engine is running, that the Android tools are there, and how much space your Mac has. Click Begin.

The Mac app walks you through every step on screen. This page is the same walk-through on paper, so you can read it first, keep it open alongside, or look up a message you weren't expecting.
The app is in final testing. The download link will appear on this page and the home page when it's ready. Screens below show sample names, not real chats.
Plan an afternoon the first time. Most of it is waiting for backups, and you can leave the app running.
Download Chat Transfer.dmg, open it, and drag Chat Transfer into Applications.
The app is signed and notarized by Apple, so it opens like any other app. If macOS asks whether you want to open an app downloaded from the internet, choose Open.
The Start screen checks for Google's Android tools (adb), which the app uses to read from the Android phone. If they're missing, click Install Android tools: it downloads them from Google into the app's own folder, with no admin password needed.
The line on the left of the app shows where you are: Start, Android, iPhone, Test run, Transfer, Done. You can quit at any point; when you reopen the app, Continue where I left off picks up from the last finished step.
The app checks that its engine is running, that the Android tools are there, and how much space your Mac has. Click Begin.

The Android phone is only read, never changed. Messages that arrive on it after your backup won't be included, so move on to the iPhone soon after.



Before the whole history, the app moves two small chats so you can look at them on your own iPhone. It suggests chats that have photos, replies and reactions, so one test covers everything. You can choose others.


Now the whole history. Click Start the full transfer and leave it running. The app backs the iPhone up again (so anything new since the test run is kept), writes every chat, checks the result, and restores. The test chats aren't duplicated.
Avoid using WhatsApp on the iPhone until the restore has finished: messages that arrive after the backup starts may not be there afterwards. Senders can resend.
When the iPhone has restarted, open WhatsApp. Search finds names straight away; searching inside old messages fills in over the next hour or so while WhatsApp indexes them in the background.


Nothing is lost if a step fails: the Android keeps everything, and the iPhone is only changed by a restore, which happens after every check has passed. Most problems clear with Try again, which resumes from the step that stopped, not from the beginning.
Check the key was pasted in full (spaces are fine). If you made a new key recently, the backup on the phone may be older than it: in WhatsApp tap Back up, wait for it to finish, and decrypt again.
The app needs the backup type that comes with a 64-digit key. Follow the steps under the message; it clears by itself once the backup exists.
Look at the Android screen and tap Allow on "Allow USB debugging?". No prompt? Unplug and replug the cable, or try a different cable.
Unlock the iPhone and tap Trust. If it never asks, try another cable or port.
Empty the Trash, clear Downloads, or delete old iPhone backups (Finder › your iPhone › Manage Backups). The notice clears by itself once there's room.
Type the password you chose when encrypted backups were turned on. Forgotten it? On the iPhone, Settings › General › Transfer or Reset iPhone › Reset › Reset All Settings removes it (along with Wi-Fi passwords and wallpaper, not your data). Then turn encrypted backups on again in the app.
Set Auto-Lock to Never, keep the iPhone unlocked, and enter the passcode as soon as it asks. Then Try again.
Settings › your name › Find My › Find My iPhone › off. If the switch is greyed out, turn off Stolen Device Protection first, or check Screen Time › Content & Privacy Restrictions. Nothing on the iPhone has changed; tap Try again.
A restore must not be interrupted. Charge the iPhone to at least 20%, then Try again.
The app re-reads the backup before restoring and found something that didn't match. Open the console (top right) to see which check failed, and report it. Try again re-runs the checks.
Force-quit WhatsApp and open it again; chats can take a minute. Search by name, not number. Still missing? Click Something's wrong, then Put the iPhone back how it was, and report what happened.
No account, no uploads, no servers. The only downloads are Google's Android tools, if you need them.
The app's working folder is ~/Library/Application Support/com.chattransferapp.desktop/work. It holds the decrypted chats, media and iPhone backups until you click Delete my data.
The 64-digit key is used once to decrypt and is never saved. The backup password is kept in your Mac's Keychain only if you tick Remember; the Done screen can remove it.
The console's log has chat names and counts so problems can be diagnosed, but never message text, your key or your password.