How to Export a WhatsApp Chat for Analysis | ThreadRecap
Exporting a WhatsApp chat sounds simple, but small choices determine whether your analysis includes timestamps, media, and the context you actually care about. This guide walks you through a reliable export workflow that keeps the chat readable and analysis-ready.
WhatsApp's export feature is available on both iOS and Android through the chat details screen, and while the steps are nearly identical on both platforms, the share sheet you see afterward differs slightly depending on your operating system. Understanding what the export actually produces, and what its limits are, helps you make the right choices before you start.
1) Choose the right chat and timeframe
Open the conversation you want to analyze and decide the timeframe that matters. If the chat is massive, consider exporting a focused slice so the analysis highlights the most recent decisions, blockers, or patterns.
WhatsApp enforces a hard message ceiling per export: 40,000 messages when you export without media, and 10,000 messages when you include media. For long-running group chats, this ceiling is easy to hit. A busy project group that runs for six months may accumulate tens of thousands of messages, meaning a single export covering the entire history will be truncated at the platform level before you even open the file.
Why a focused time window produces better analysis
Exporting a focused time window rather than an entire chat history is the recommended approach for very large or long-running group chats. There are two reasons for this. First, a tighter window keeps you within WhatsApp's per-export message limits, so you are not silently losing messages at the tail of the export. Second, a focused slice gives an AI analysis tool a coherent narrative to work with. Feeding six months of mixed threads into a summarizer produces a noisier output than feeding it the four weeks surrounding a specific project sprint or decision.
To export a specific period on Android, you can use the chat search to identify approximate message dates, then time your export accordingly. On iOS, the process is the same but the share sheet routes through the system share extension. In both cases the export is triggered from the chat details screen under Export Chat. If the export is heading to a documentation workflow, the explains how to scope the date window for that use case.
On iOS or Android, tap the chat name, scroll to Export Chat, and choose Include Media if you want voice notes transcribed. This produces a .zip file containing the text log and audio attachments.
A WhatsApp export .zip always contains a file called `_chat.txt`, which is the plain-text message log with timestamps, sender names, and message bodies. When you export with media, the archive also includes audio attachments saved in `.opus` or `.m4a` format. Images and videos may also be present, though for most analysis workflows it is the audio files that carry the most recoverable information, since voice notes are otherwise inaccessible as text.
The `_chat.txt` file references each attached file by filename inline, for example `<attached: 00000042-AUDIO-2024-03-15-09-22-31.opus>`. This inline reference is how analysis tools reconstruct the timeline and match each voice note to the moment it was sent. If the filenames in the archive no longer match the references in `_chat.txt`, that mapping breaks and the voice notes cannot be placed on the timeline.
Choosing between media and no media
If your chat is primarily text, exporting without media keeps the file small and avoids the lower 10,000-message cap. If voice notes are a meaningful part of the conversation, the trade-off shifts: including media drops the message limit to 10,000 but unlocks transcription of those audio files, which can surface decisions and context that never appeared in the text log at all. For chats where key agreements were spoken rather than typed, excluding media effectively erases part of the record. If the dispute is heading to a hearing, the WhatsApp messages in small-claims court guide covers the format judges actually accept.
3) Keep the file structure intact
Avoid renaming or unpacking the exported file. The analysis workflow expects the default WhatsApp export structure so it can map audio files back to the timeline.
This constraint matters more than it might appear. Renaming or unpacking a WhatsApp export .zip before upload can break the mapping between audio files and the chat timeline. When you unzip the archive and re-zip it, operating systems sometimes flatten the folder structure or alter filenames with path separators. Even renaming the outer .zip file itself is harmless in isolation, but unzipping, moving files around, and re-zipping is not. The safest rule is to upload the .zip exactly as WhatsApp produced it.
What happens to voice notes during analysis
When ThreadRecap receives the intact .zip, it extracts the `_chat.txt` log and identifies all `.opus` and `.m4a` audio attachments. Those files are passed to OpenAI Whisper for transcription. Whisper achieves approximately 95% accuracy on clear audio, which means a typical 30-second voice note produces a readable transcript with only one or two minor errors. The transcript is then inserted into the chat timeline at the exact timestamp where the voice note appeared, so the analysis sees a continuous text record rather than a log with gaps where audio used to be.
Transcription quality degrades on audio recorded in noisy environments or with strong accents that differ significantly from Whisper's training distribution. For most indoor, conversational recordings the 95% figure holds. For borderline audio, the transcript is still usually good enough to capture the substance of what was said, even if individual words are occasionally wrong.
4) Upload once, analyze fast
When you upload the .zip, the timeline is reconstructed and the chat analyzer highlights summaries, tasks, and key moments. If you need help, the tool will warn you about missing media or formatting issues.
ThreadRecap accepts exports up to 2 GB and can handle chats of 60,000 messages or more, which means it can process exports that span multiple sequential WhatsApp export batches if you concatenate them correctly. For most individual chats, a single export is well within those limits.
What the analyzer does with the reconstructed timeline
Once the timeline is assembled, the analyzer works through the message sequence and produces several outputs. Summaries group related exchanges into topics and surface the decisions that were reached. Task extraction identifies action items, assignments, and deadlines mentioned in the text. Key moment detection flags turning points in the conversation, such as the first mention of a problem, the message where a decision was made, or the point where a thread shifted direction.
These outputs are most reliable when the input is clean: timestamps present, sender names consistent, and audio transcripts in place. Exports with missing media warnings or encoding issues will still produce output, but gaps in the audio record mean gaps in the analysis. If the tool warns you about missing files, it usually means audio was referenced in `_chat.txt` but the corresponding file was not found in the archive, most commonly because the export was interrupted or the file was manually removed. If the chat is a recurring work meeting, the analyzer can turn WhatsApp threads into meeting minutes directly from the same upload.
Understanding export encoding issues
WhatsApp `_chat.txt` files are encoded in UTF-8, but older Android devices occasionally produce exports with mixed encoding that renders some characters as garbled symbols. This is most common with messages containing emoji, accented characters, or non-Latin scripts. ThreadRecap detects encoding anomalies and attempts automatic correction, but the most reliable fix is to re-export the chat on a device running a recent version of WhatsApp. If your export looks correct when you open it in a text editor but garbled after upload, the issue is usually a byte-order mark or a legacy encoding rather than a problem with the upload itself.
Practical tips before you upload
Before uploading, open the .zip file on your computer without extracting it and verify that `_chat.txt` is present at the root of the archive. If you exported with media, confirm that at least some `.opus` or `.m4a` files are also visible. If the archive appears empty or contains only a single file when you expected media, the export may have been interrupted during the share step on your device. In that case, repeat the export and use a direct save-to-files option rather than sharing through a messaging app, which can sometimes strip attachments during transit.