Skip to content

WhatsApp export format: what is inside the TXT and the ZIP

A WhatsApp export is a ZIP holding one plain-text transcript, with a line per message giving the timestamp, the sender and the text, plus the photos, videos and voice notes when media is included. This page documents the two timestamp formats, the invisible direction marks, how iOS and Android write attachments, and how media files are named.

By Martin Ferret · Published · Last updated

What is inside a WhatsApp export?

An export is a ZIP containing a single transcript and, when media was included, the attachment files beside it. There is no manifest, no index and no metadata file. Everything a reader needs to reconnect a message to its attachment is in the transcript itself.

_chat.txt
IMG-20240315-WA0001.jpg
VID-20240315-WA0004.mp4
PTT-20240315-WA0009.opus
STK-20240316-WA0002.webp
Attachment filename prefixes
IMGA photo, usually JPEG.
VIDA video, usually MP4.
PTTA voice note, recorded in the app. Opus in an OGG container.
AUDAn audio file that was sent rather than recorded.
STKA sticker, usually WebP.

What do WhatsApp timestamps look like?

Every line of the transcript begins with a timestamp and a sender. There are two shapes, and which one you get depends on the platform and the phone's language settings rather than on anything you can choose.

[3/15/24, 9:22:31 AM] Sarah Chen: Can you send the schedule?
3/15/24, 9:22 - Sarah Chen: Can you send the schedule?
  • The bracket form usually comes from iOS and carries seconds.
  • The dash form usually comes from Android and usually does not.
  • Both appear in 12-hour and 24-hour versions, again depending on the phone.

What the file never has is a page. An export is one continuous text, so a document made from it has to bring its own way of citing a page, which in a court production means Bates numbering.

Why does an export contain invisible characters?

This is the single most common reason a converter produces garbage. iOS exports contain characters that do not render and are easy to miss when you open the file in a text editor.

Invisible characters in exports
U+200ELeft-to-right mark. Frequently sits immediately after the opening bracket and before attachment markers, so a parser anchored on “[” alone drifts by one character.
U+202FNarrow no-break space. Appears between the time and AM or PM, so a pattern expecting a plain space fails to match.

Stripping them before parsing is tempting and wrong: they are part of the file whose digest you are about to publish. Read past them, do not rewrite them.

Which lines are messages, and which are not?

Not every line in the file is a message, and not every message is one line.

  • Continuations. Any line that does not begin with a timestamp belongs to the message above it. A message containing line breaks produces several lines.
  • System messages. Encryption notices, group membership changes and subject changes are written like messages but have no sender.
  • Attachments. Written as <attached: FILENAME> on iOS and FILENAME (file attached) on Android.
  • Omitted media. When the export was made without media, attachments become a short phrase such as image omitted and the file itself is simply absent.

Every one of these is worth checking against a real file rather than taken on trust. The export viewer reads one in your browser and names the lines it could not attribute, and the export guide covers getting the file off the phone in the first place. When the file is headed for a custody case, read How to use WhatsApp messages as evidence in a custody case.

How are voice notes stored in an export?

A voice note appears in the transcript as an attachment line naming a .opus file, and that file sits in the archive. The link between a message and its audio therefore costs nothing to establish: it is written down.

The hard part is not finding the audio, it is decoding it. Opus in an OGG container is handled unevenly across browsers, which is why a fallback decoder matters more than the transcription model does.

Common questions

Can I open _chat.txt in a text editor?

Yes. It is plain text and opens in any editor. The invisible direction marks described above are still there, so a search for a timestamp can fail on a line that looks identical to the one you typed.

Does the export include read receipts or delivery ticks?

No. Each line carries a timestamp, a sender and the message. Whether a message was delivered or read, and when, is not written into the export.

What is the encryption notice at the top of the file?

A system message. WhatsApp writes it like a message but with no sender, alongside other notices such as members joining or a group subject changing. It is part of the file, not something a participant wrote.

Does a photo in the export keep its original date and location?

Not reliably. Photos sent through WhatsApp are recompressed and camera metadata such as location is generally not kept. The date in a name like IMG-20240315-WA0001 reflects when the file passed through WhatsApp, not when it was taken.

Open your export

Read inside this browser. Never uploaded, never stored.

ZIP or TXT, from iOS or Android

No export yet?

How to export from WhatsApp
Where to find it on this phone

iPhone

  1. In WhatsApp, open the chat and tap the contact or group name.
  2. Tap Export Chat, choose Attach Media, then Save to Files.
  3. Come back here, tap Choose your export, and pick it in Files.

Android

  1. In WhatsApp, open the chat, tap the three dots, More, then Export chat.
  2. Choose Include media, then save it to your phone (Files or Downloads).
  3. Come back here, tap Choose your export, and pick it.

Everything works on this phone, and the document is made right here. Only voice note transcription needs a computer.