# Fictional chat export test collection v1

Published by Tera Chat on 2 November 2026. Every person, message and identifier is fictional. These files were constructed from a sequence of known records, not exported from real user accounts. This is a Tera-authored test, not an independent review or competitor ranking.

## Files and expected results

- WhatsApp iPhone and Android small TXT: the same 32 messages, eight each from Nora, Arun, Léa and Kai. 16 messages in 2025 and 16 in 2026.
- WhatsApp iPhone and Android large TXT: the same 20,000 messages, 5,000 per sender. 1,440 messages in 2025 and 18,560 in 2026.
- Telegram JSON: the small conversation, with text represented as rich-text segments.
- Instagram: the small conversation split into two JSON files. Select both together.

All scoring uses UTC. WhatsApp dates are day/month/year with no time-zone offset. Telegram and Instagram use absolute timestamps; a browser using another local time zone may group midnight messages into another year. Import each case separately and select All years before checking totals.

The first record is 30 December 2025 00:00 UTC. Small records are three hours apart; large records two minutes apart. The four senders rotate in the order above. Every seventh record, starting with the first, has a continuation line. Small cases have five multiline messages; large cases have 2,858. The expected manifest was generated from these source records before running the parser. It includes the complete first and last messages.

## Reproduce Tera's parser check

Requires Python 3.9+ and Node 20+. Extract this ZIP into a directory. Download the public script as an ES module into that directory, inspect it, then run:

```sh
curl --fail --show-error --location https://terachat.co/chat-tools.js --output chat-tools.mjs
python3 reproduce.py --source chat-tools.mjs > reproduced-results.json
```

The runner uses the supplied local JavaScript file, the bundled manifest and fixtures. It does not fetch code or upload the fixtures. Compare its source_sha256 with tera-results.json; a different hash means the website's implementation has changed since the recorded test. The command returns a nonzero status if a checked value differs.

The recorded execution matched all six cases: totals, sender counts, calendar-year counts, multiline-message counts and full first/last messages. It exercised parsing and analysis in Node, not a browser or phone. It did not test privacy/network behavior, speed, memory use, every locale, media, notices, reply-time meanings or competitor performance. Passing does not establish a maximum file size or recover messages missing from an export.

## Compare another compatible tool

Record its URL, date, supported format and selected year. Use one matching case at a time and record actual output. An unsupported format is unsupported, not an error. A blocked import is unavailable, not a failure. All tools may pass: report that honestly and compare relevant workflow differences separately. Do not infer local processing from a count result.

Reference page: https://terachat.co/tools/chat-export-test-files/
Tera analyzer: https://terachat.co/tools/chat-analyzer/
