What breaks when you read a WhatsApp chat export?
Last reviewed 1 November 2026
Dates break first. Of our 16 test exports, 15 had lines where the day and month are both 12 or under, and one had no day above 12 at all, so its date order could not be found from the file. Android layouts had no seconds. 14 of 16 had messages running over several lines.
What we tested
16 files: 15 from our fixtures folder and one 396-line sample. They are invented chats, written in each layout. Only the iPhone Australian 12-hour layout was copied from a real export. We have not tested the rest against real phones. Counts come from our parser and from reading the file bytes. The full counts are in a CSV.
| What breaks | Files |
|---|---|
| Day and month both 12 or under on some lines | 15 of 16 |
| Every date 12 or under (order cannot be found) | 1 of 16 |
| No seconds in the timestamp (Android layouts) | 10 of 16 |
| Message runs over several lines | 14 of 16 |
| Edited and deleted markers | 12 of 16 |
| Media placeholder (5 different wordings) | 4 of 16 |
| Invisible left-to-right mark (iPhone) | 6 of 16 |
| Narrow no-break space before am/pm | 4 of 16 |
| Byte-order mark at the start | 1 of 16 |
| Message timed earlier than the one above it | 1 of 16 |
What to do about it
- Dates: find a day above 12 and read the order from it. If there isn't one, ask whoever exported.
- Seconds: Android stops at the minute, so two messages in one minute cannot be ordered by time.
- Long messages: keep every line until the next timestamp, or text is lost.
- Hidden characters: strip the byte-order mark, the left-to-right mark and the narrow space before matching.
- Clock jumps: flag them. Don't reorder silently.
- Not tested: line endings (no file here uses CRLF as stored), message length caps, and how WhatsApp itself behaves.
Run your own file through the chat export checker. Background: how to read a .txt export and export not working.
Questions people ask
Does the same chat look different on iPhone and Android?
In our files, yes. iPhone adds seconds and square brackets. Android uses a dash and no seconds.
Can a tool guess the date order?
Only when a day is above 12. Ours asks instead of guessing.
General information only, not legal advice.