What's Inside a WhatsApp Chat Export (Every File)
Complete breakdown of WhatsApp export files: chat logs, audio, images, videos, and contacts. Learn what each file type contains and how to analyze them.
In this article
- chat.txt: the conversation log
- .opus and .m4a: voice messages
- .jpg, .png, .mp4: shared media
- .pdf, .vcf, .docx: documents and contacts
- What ThreadRecap reads vs ignores by default
- Why your photos and video files never leave your device
- Using the export for evidence and compliance
- Understanding the full picture
When you tap "Export chat" in WhatsApp and choose to include media, the app hands you a single ZIP file. Most people open it, see a wall of unfamiliar filenames, and close it again. That is a shame, because each file type in that archive represents a distinct layer of information: the written record, the spoken word, the visual context, and the shared documents. This guide walks through every file you are likely to find, explains what it contains, and shows you which parts ThreadRecap can turn into structured output.
Already have your .zip? That is exactly what ThreadRecap reads.
Analyze your chat_chat.txt: the conversation log
The centrepiece of any export is `_chat.txt`. It is a plain-text file where every message occupies one or more lines in the format:
```
[DD/MM/YYYY, HH:MM:SS] Sender Name: message body
```
A few things are worth knowing about this file:
- Timestamps reflect the local device time at the moment of sending. If participants are in different time zones, the log will mix offsets unless WhatsApp normalises them on export (behaviour varies by platform version).
- Media references appear as inline placeholders, for example `IMG-20240315-WA0002.jpg (file attached)`, rather than embedded data. The actual file sits separately in the ZIP.
- System events such as missed calls, group membership changes, and encryption notices appear as timestamped lines with no sender name.
- Message edits and deletions may appear as `<This message was edited>` or `<This message was deleted>`, depending on the WhatsApp version that produced the export.
For analysis purposes, `_chat.txt` is the backbone. Every ThreadRecap output, from meeting recaps to conflict timelines, is anchored to the timestamps and attribution in this file.
How big can _chat.txt get?
A busy group chat running for a year can easily produce tens of thousands of lines. ThreadRecap processes exports containing 75,000 or more messages, so even the most active team channels or long-running family groups fall within capacity.
.opus and .m4a: voice messages
Voice messages are the most information-dense content in any WhatsApp chat, and also the most overlooked in manual reviews. WhatsApp encodes them differently depending on the platform:
| Platform | Container | Typical codec |
|---|---|---|
| Android | .opus | Opus |
| iOS | .m4a | AAC |
Both formats are compressed audio. The filenames follow WhatsApp's media naming convention: `PTT-YYYYMMDD-WA000X.opus` or `PTT-YYYYMMDD-WA000X.m4a`, where PTT stands for push-to-talk.
ThreadRecap transcribes voice messages in an export through OpenAI's audio transcription service. Clear audio is easier to transcribe. The transcripts are time-linked to the surrounding chat messages, so you can read a conversation as a continuous thread rather than switching between text and audio players.
For a deeper look at how the export process works before you reach this stage, see how to export your WhatsApp chat for analysis.
What degrades accuracy
Background noise, overlapping speakers, heavy accents, and very short clips (under two seconds) are the main factors that reduce transcription quality. The models handle multilingual audio, so switching languages mid-conversation does not break the pipeline, though accuracy varies by language.
.jpg, .png, .mp4: shared media
Images and videos in a WhatsApp export follow the naming pattern `IMG-YYYYMMDD-WA000X.jpg` or `VID-YYYYMMDD-WA000X.mp4`. The date component reflects when the file was created or sent, and the trailing index distinguishes multiple files from the same day.
These files carry more metadata than is visible at first glance. EXIF data embedded in `.jpg` and `.png` files can include GPS coordinates, device model, and the original capture timestamp, information that can be significant in dispute or compliance contexts.
ThreadRecap does not process photos or documents, and never uploads a video file. They are referenced in `_chat.txt` by filename, which ThreadRecap records in the conversation timeline, but the files themselves stay on your device. A video is the one partial exception: if you include videos, your browser extracts their audio track and only that audio is sent, so what gets processed is what was said, never the picture. This is a deliberate privacy boundary covered in more detail in the section below.
.pdf, .vcf, .docx: documents and contacts
Documents (.pdf, .docx, and other formats)
Any file shared as an attachment in WhatsApp, including PDFs, Word documents, spreadsheets, and presentations, appears in the export ZIP under its original filename. These files are referenced in `_chat.txt` the same way images are: as a placeholder line noting the filename and the phrase "file attached."
ThreadRecap does not upload or parse document attachments. Their presence in the timeline is noted, but their contents are not extracted.
Contact cards (.vcf)
When a WhatsApp user shares a contact, the export includes a `.vcf` file (vCard format). vCard is a standard format for contact information, containing fields such as name, phone number, email address, and organisation. The filename is typically the contact's display name with a `.vcf` extension.
Contact cards are not processed by ThreadRecap. Like documents and media, they remain on your device.
What ThreadRecap reads vs ignores by default
The table below summarises the processing boundary clearly:
| File type | ThreadRecap processes? | Where it stays |
|---|---|---|
| `_chat.txt` | Yes, fully | Encrypted in your account |
| `.opus` / `.m4a` (voice messages) | Yes, sent to OpenAI's audio transcription service | Encrypted in your account |
| `.jpg` / `.png` (images) | No | Your device only |
| `.mp4` / `.mov` (video) | No | Your device only |
| `.pdf` / `.docx` (documents) | No | Your device only |
| `.vcf` (contact cards) | No | Your device only |
The outputs ThreadRecap generates from the processed data include:
- Meeting Recap: a structured summary of what was discussed and agreed
- Action Items: tasks extracted with assignee and deadline where stated
- Decisions: explicit or implied decisions logged with context
- Conflict Resolution: a timeline of disputed exchanges with attributed statements
- Relationship Insights: communication pattern analysis across participants
All of these are grounded in the text and transcribed voice content. Nothing is inferred from images or documents.
Why your photos and video files never leave your device
This is not a limitation, it is a design choice rooted in the sensitivity of media files.
Photos and videos shared in personal or professional chats often contain information that goes far beyond the image itself: location data, faces, documents photographed on desks, and timestamps tied to specific events. Uploading this material to any cloud service, even an encrypted one, creates exposure that many users, and many legal and compliance teams, are not comfortable with.
ThreadRecap's architecture keeps a hard boundary here. The export-and-upload workflow means you own the ZIP file before anything is sent. When you upload to ThreadRecap via /upload, what crosses the network is `_chat.txt`, the voice message audio, and, only if you include videos, the audio track your browser extracts from them on your device. The photo, video and document files themselves stay in the ZIP on your device.
Chat text and voice message audio are stored encrypted in your account. You can delete them at any time through the dashboard. There is no retention period that overrides your choice.
For a full explanation of how this boundary works technically, see why photos and video files never leave your device.
Using the export for evidence and compliance
The structured nature of `_chat.txt` makes WhatsApp exports useful in legal, HR, and compliance contexts. Each message carries a timestamp and a sender attribution that is hard to alter without disrupting the surrounding log. Voice message transcripts add a layer of spoken evidence that is often absent from message-only records.
ThreadRecap can place transcribed audio beside the chat timeline to make a long conversation easier to read. If you are preparing for a dispute, an internal investigation, or a regulatory review, treat the output as a reading aid and check important points against the original export and audio.
A note on legal use: ThreadRecap does not verify that an export is genuine, complete, or legally admissible. Preserve the original ZIP and ask a qualified professional about the process that applies to your situation.
Understanding the full picture
A WhatsApp export ZIP is not just a backup. It is a layered archive where each file type captures a different dimension of communication: the written record in `_chat.txt`, the spoken word in voice message audio, the visual context in images and video, and the shared materials in documents and contact cards.
ThreadRecap works with the layers that can be analysed at scale without compromising the privacy of the layers that cannot. If you want to understand what your export contains before you do anything with it, the file breakdown above is your map. If you are ready to turn it into structured output, the /upload page is the next step.
For more context on the different formats WhatsApp can produce and how they compare, see WhatsApp export formats explained.
You have the export. Now make it useful.
Upload the .zip you just created and get a full recap, insights, and voice message transcriptions in minutes.