Chat to Evidence

How it works

A transparent look at what happens between dropping a file and downloading the PDF — because you are trusting this tool with a private conversation.

1. You export the chat from the app itself

Every supported platform has an official export. WhatsApp produces a .txt file (or a .zip with photos), Telegram Desktop produces result.json, and Instagram and Messenger produce message_1.json through Meta’s “Download your information”. Using the official export matters: it carries the full timestamp of every message, which screenshots do not. Guides: iPhone, Android, Telegram, Instagram, Messenger.

2. Your browser parses it — not our server

When you drop the file in, a web worker in your browser reads it and turns it into a list of messages: timestamp, sender, text, attachment. The WhatsApp parser understands the iPhone and Android formats, 12- and 24-hour clocks, day-first and month-first dates, multi-line messages, system notices and the invisible direction marks iOS inserts. The Meta parser repairs the well-known character-encoding bug in Instagram and Messenger exports so accents and emoji look right. Nothing is sent anywhere; you can watch the network tab and see for yourself.

3. You review and adjust

The preview shows every message so you can confirm the dates are right (there is a toggle if day and month are swapped), rename “+1 647 555 0100” to a real name, pick a date range, choose Letter or A4, and decide whether to include system messages. With a Case Pass you can also redact phone numbers, add an exhibit label and Bates-style numbering, and embed photos from a WhatsApp zip.

4. The PDF is drawn on your device

The PDF is built with an open-source library running in the tab. The tool looks at which writing systems appear in your chat and fetches only the Noto fonts it needs — Devanagari for Hindi and Marathi, Gurmukhi for Punjabi, Arabic for Urdu and Arabic, CJK for Chinese, Japanese and Korean, and so on — plus Noto Emoji for emoji. Those fonts are embedded in the PDF so it looks the same on any computer or printer.

5. The fingerprint and certification page

With a Case Pass, the tool computes the SHA-256 hash of your original export file and prints it on a certification page along with the message count, date range, generation time and parser version. A hash is a fixed-length fingerprint: if a single byte of the export changes, the fingerprint changes completely. Anyone who later recomputes the hash of your original file can confirm the transcript was produced from that exact file. Keep the original export somewhere safe.

6. Anyone can verify the certificate

Before the PDF is drawn, the browser reserves a certificate ID (for example CTE-7K3M-9Q2A) from the registry and prints it on the certificate page with a QR code; after the PDF is finished, it registers the PDF’s own SHA-256 fingerprint. A caseworker, judge or HR investigator opens chattoevidence.com/verify, drops the PDF, and the registry confirms whether that exact file was generated by the tool, when, and from which source fingerprint. The registry holds hashes and counts only — never the messages — so it can prove integrity without seeing your conversation. If the registry is unreachable when you export, the PDF still says so and falls back to the offline source-file check.

What the tool cannot do