Chat Transfer
User guide

Using the Chat Transfer app

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.

What you need

Plan an afternoon the first time. Most of it is waiting for backups, and you can leave the app running.

  • A Mac with Apple silicon (M1 or later) and macOS 12 or newer. Windows is planned.
  • Free space on the Mac roughly equal to what your iPhone uses. The app tells you the exact figure before it starts.
  • Your Android phone with WhatsApp, and a USB cable that carries data (not just charging).
  • Your iPhone, already set up, with a cable for it too.
  • The 64-digit key from WhatsApp's end-to-end encrypted backup. The app shows you how to get it if you don't have one.
  • Your Apple Account password, because turning off Find My asks for it.

Install the app

  1. Download and open the disk image

    Download Chat Transfer.dmg, open it, and drag Chat Transfer into Applications.

  2. Open it from 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.

  3. Install the Android tools if asked

    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.

Step by step

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.

Step 1

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 Start screen: three checks with green lamps and a Begin button.
Step 2

Android

  1. Let the Mac talk to the phone. On the Android, open Settings › About phone and tap Build number seven times. Then turn on Settings › Developer options › USB debugging. Plug the phone in and tap Allow (tick "Always allow").
  2. Make a fresh WhatsApp backup. In WhatsApp: ⋮ › Settings › Chats › Chat backup. If end-to-end encrypted backup is off, turn it on and choose Use 64-digit encryption key instead. Save the key somewhere safe. Then tap Back up.
  3. Paste the key and click Decrypt backup. It takes a minute or two. The app then shows your number of chats and messages, and your biggest conversations so you can check it's the right account.
  4. Copy media. This copies your photos, videos and voice notes so they open on the iPhone. It's the slow part. You can skip it and move chats only.

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.

The Android screen: the phone is connected with an encrypted backup found, and a field for the 64-digit key.
The key field. It's used only on your Mac and never saved.
After decrypting: counts of chats, groups, messages and media files, with a Copy media button.
After decrypting: what will move, and the media copy.
Step 3

iPhone

  1. Set up WhatsApp on the iPhone with the same phone number, and send one message to anyone. Skip any offer to restore from iCloud. WhatsApp on the Android stops working at this point; that's expected, its chats are safe on your Mac.
  2. Plug in the iPhone, unlock it, and tap Trust.
  3. Tick the four items as you do them on the iPhone:
    • WhatsApp is set up with the same number.
    • Stolen Device Protection is off (Settings › Face ID & Passcode). Otherwise the iPhone can make you wait an hour before Find My can be turned off.
    • Find My iPhone is off (Settings › your name › Find My). Apple refuses to restore any backup while it's on.
    • Auto-Lock is set to Never (Settings › Display & Brightness), so the iPhone stays awake for its passcode prompts.
  4. Choose a backup password. The app uses an encrypted iPhone backup, which keeps your saved passwords, Wi-Fi and Apple Pay when the iPhone is restored. Write the password down. Tick Remember it in the Keychain so the app doesn't ask again. If your iPhone already encrypts its backups, type that password instead.
  5. Click Back up iPhone and enter the passcode on the iPhone when it asks. This is the longest step, often 15–40 minutes. The app keeps an untouched copy of this backup, so it can always put the iPhone back exactly as it was.
The iPhone screen: a connected iPhone and a checklist of settings to change before the backup.
Step 4

Test run

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.

  1. Click Move these 2 chats. The app writes them into the backup, checks the backup file by file, checks the iPhone's battery and Find My, and restores. The iPhone restarts.
  2. Unlock the iPhone and open WhatsApp. Find the test chats by searching for their name (WhatsApp's search doesn't match phone numbers), or scroll; they sort by their last message date.
  3. Check that photos open, replies show the quoted message, reactions appear, and your messages are on the right.
  4. All good? Click Everything looks right. Something off? Click Something's wrong, and the app can put the iPhone back how it was.
The Test run screen: four suggested chats with counts of messages, photos, replies and reactions; two are ticked.
After the test restore: a list of things to check in WhatsApp, with Everything looks right and Something's wrong buttons.
After the restore, the app tells you what to look for.
Step 5

Transfer

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.

The Transfer screen during the run: a list of steps from backing up to restoring, with the current one showing progress.
Step 6

Done

  • Turn Find My, Stolen Device Protection and your Auto-Lock setting back on.
  • Allow WhatsApp access to Contacts so names replace phone numbers.
  • Keep the Android phone as it is for a week or so, in case you want to check something.
  • Once you're happy, click Delete my data. It removes the decrypted chats, media and backups from your Mac.
The Done screen: settings to turn back on and a button to delete the transfer data.

If something goes wrong

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.

"The key doesn't open this backup"

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.

"Turn on end-to-end encrypted backup first"

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.

"Waiting for permission on the phone"

Look at the Android screen and tap Allow on "Allow USB debugging?". No prompt? Unplug and replug the cable, or try a different cable.

"Waiting for the iPhone"

Unlock the iPhone and tap Trust. If it never asks, try another cable or port.

"Not enough space for the backup"

Empty the Trash, clear Downloads, or delete old iPhone backups (Finder › your iPhone › Manage Backups). The notice clears by itself once there's room.

"That isn't the backup password for this iPhone"

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.

"The iPhone didn't get its passcode in time"

Set Auto-Lock to Never, keep the iPhone unlocked, and enter the passcode as soon as it asks. Then Try again.

"Find My iPhone is still on"

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.

"The iPhone battery is at …%"

A restore must not be interrupted. Charge the iPhone to at least 20%, then Try again.

"The checks found a problem, so the iPhone was not touched"

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.

The chats don't appear after the restore

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.

Your data and privacy

Everything stays on your Mac

No account, no uploads, no servers. The only downloads are Google's Android tools, if you need them.

Where the files are

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.

Your key and password

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 log

The console's log has chat names and counts so problems can be diagnosed, but never message text, your key or your password.