How to Archive iPhone WhatsApp Chats on Linux

If you’ve moved to a Linux desktop and want your WhatsApp history to come with you, you’ve probably hit a wall. WhatsApp doesn’t officially support Linux at all, and your iPhone stores its chats in an encrypted format you can’t just copy across.

So let me be honest right up front, because a lot of guides on this exact topic are not. You cannot take your iPhone’s WhatsApp database and load it into some Linux app that runs as a working messenger with all your old chats inside. That’s not how WhatsApp is built. What you can do, with free and open-source tools, is extract your entire chat history into a clean, readable, searchable archive that lives permanently on your Linux machine. No cloud dependency, no subscription, fully yours.

That’s a genuinely valuable thing, and here’s exactly how it’s done.

Why You Can’t Just Copy the Files

Understanding why the shortcut doesn’t exist saves you from chasing methods that don’t.

WhatsApp’s backups are designed for one job: restoring chats inside WhatsApp when you switch phones. On iPhone, that backup goes to iCloud, and it isn’t a file you can open and read. It exists so the app can restore itself, not so you can browse your history on a computer.

This is where most guides go sideways. They point you at “native Linux WhatsApp clients,” Matrix bridges, or Flatpak apps. The reality: those Flatpak apps are wrappers around WhatsApp Web that mirror your phone in real time; they don’t hold an imported history. A Matrix bridge connects your live account going forward; it doesn’t ingest years of old iPhone chats. Neither solves the archive problem.

For the archive problem, there’s a real, actively maintained, open-source tool.

The Tool: WhatsApp Chat Exporter

The project is called WhatsApp Chat Exporter, a cross-platform tool for parsing WhatsApp chat databases from Android and iOS backups, and it outputs your history as readable HTML or structured JSON. It’s MIT-licensed, it runs on Linux, and it works directly from a standard iPhone backup. No jailbreak, no root, nothing that compromises your device. Its source material is Apple’s own backup mechanism.

Here’s what you need before starting.

A full local backup of your iPhone. Not iCloud. A local backup saved to a computer, made through Finder on a Mac or the Apple Devices app on Windows. If your only machine runs Linux, this is honestly the trickiest step, since Apple ships no official backup software for Linux. The practical route most people take: make the local backup on a borrowed or secondary Mac or Windows machine, then copy that backup folder over to your Linux box.

Python on your Linux system. Nearly every distribution ships with it.

A plan for encryption, in two places. First, if your iPhone backup itself is password-protected, the tool needs a companion module to decrypt it, installed with one extra command. Second, and separately, WhatsApp’s own end-to-end encrypted backups feature needs to be disabled before the chats can be parsed, following WhatsApp’s own instructions in the app. These are two different locks, and people regularly confuse them.

The Actual Process, Step by Step

I’d always recommend checking the project’s official documentation for the exact current commands, since open-source tools evolve. But this is the shape of it, and it hasn’t changed much in years.

Step 1: Make the local iPhone backup. Connect your iPhone to the Mac or Windows machine, trust the computer, and run a full local backup. Note where it lands. On a Mac that’s inside ~/Library/Application Support/MobileSync/Backup/, on Windows under your user folder’s Apple directory.

Step 2: Move the backup to Linux and install the tool. Copy the whole backup folder (it’s named as a long string of characters) to your Linux machine. Then install the exporter:

pip install whatsapp-chat-exporter

If your backup is encrypted, add the decryption module the documentation points to:

pip install git+https://github.com/KnugiHK/iphone_backup_decrypt

Step 3: Run the exporter in iOS mode. Point it at your backup folder:

wtsexporter -i -b /path/to/your/backup/folder

If the backup is password-protected, you’ll provide your backup password so the tool can decrypt it locally. It then locates WhatsApp’s data inside the backup and parses your messages. One realistic note: for large chat histories this can take a while, sometimes a long while. Don’t panic if it isn’t instant.

Step 4: Open your archive. The default output is HTML that opens in any browser and looks pleasantly similar to WhatsApp itself, conversations laid out chat by chat with your images and attachments. Add the -j flag and you also get JSON, structured data you can search, script against, or feed into other tools. There’s even a plain-text export option that mimics WhatsApp’s own official chat export format.

Two flags worth knowing about. If some contacts show up as bare phone numbers, the tool can pull names from an exported contacts file to fill the gaps. And if you plan to re-export in the future, the project supports incremental merging, which folds new messages from a fresh export into your existing archive without duplicating or deleting anything already there. That quietly solves the biggest weakness of archive-based approaches.

Keeping the Archive Safe

Since the entire point is owning your data, treat the output accordingly.

Your exported HTML and JSON are ordinary files, so boring, reliable backup practice applies. Keep a second copy on an external drive. If you want automation, an rsync command in a simple cron job that mirrors your archive folder to a second location is more than enough. Nothing exotic required.

And one genuine privacy warning, since privacy is why many people do this in the first place: these archives are unencrypted and readable by anyone who can open the folder. That’s the trade-off for being convenient to browse. Store them on an encrypted drive or inside an encrypted home directory, because a plain-text copy of your entire message history is exactly the kind of thing that shouldn’t sit in an unprotected folder.

What This Method Is, and Isn’t

So you go in clear-eyed:

It is a permanent, self-owned, offline archive of your WhatsApp history, readable and searchable on Linux, built with free software from Apple’s own backup system.

It isn’t a live WhatsApp client that continues your conversations with history intact. It’s a snapshot. New messages won’t appear until you re-run the export, though the incremental merge feature makes those refreshes painless.

If what you actually want is to use WhatsApp on Linux day to day, that’s a different problem with a different answer: WhatsApp Web in your browser, or a wrapper around it, which mirrors your phone. Know which problem you’re solving before you start.

Quick Answers

Is there a native WhatsApp app for Linux?

No. Meta ships no Linux client. Everything marketed as one is a wrapper around WhatsApp Web.

Can I read my iCloud WhatsApp backup on a computer?

No. iCloud backups only restore into WhatsApp itself. A local iPhone backup is the readable source this method depends on.

Do I need to jailbreak my iPhone?

No. The entire process uses Apple’s standard local backup mechanism.

Is WhatsApp Chat Exporter safe?

It’s open-source under an MIT license, so the code is publicly auditable, and everything runs locally on your machine. Nothing is uploaded anywhere.

Will my photos and voice notes be included?

Yes. Media inside the backup is extracted alongside messages and appears in the HTML archive, with an option to organize media per chat.

The Bottom Line

Migrating a living WhatsApp account into a native Linux client isn’t a thing that exists, no matter what the thumbnails promise. Archiving your entire history into a readable, self-owned format on Linux absolutely is, with a legitimate open-source tool, Apple’s own backup system as the source, and no jailbreaking anywhere in the chain. Own a real copy of your history. Just store it as carefully as the conversations inside it deserve.

LEAVE A REPLY

Please enter your comment!
Please enter your name here