Convert a Telegram chat export to PDF
Updated
Telegram Desktop can export a full chat history as a JSON file, but result.json is meant for machines, not people — it is a wall of nested objects with no page breaks, no timestamps you can skim and no way to hand it to anyone. Chat to Evidence reads that JSON and lays it out as a proper transcript: chronological messages, a sender name on each line, day separators and page numbers.
Everything happens on your device. The JSON file never leaves your browser tab, and the only outside requests are for the font files used to render non-Latin text.
How to convert a Telegram chat to PDF
- Export the chat from Telegram Desktop first — mobile apps can’t do a full JSON export. See How to export a Telegram chat for the exact menu path.
- Locate result.json in the folder Telegram Desktop saved (you chose the location during export, often a folder named after the chat).
- Open chattoevidence.com, select Telegram as the source, and drop result.json onto the page. A chat with tens of thousands of messages parses in a few seconds.
- Review the preview: check the date range, the participant list and that names look right. Rename anyone whose username should read as a real name.
- Click Generate PDF. The free version shows the first 100 messages with a watermark; the $9 Case Pass removes both limits and adds the certification page.
Why result.json is hard to read on its own
Open result.json in a text editor and you’ll see one giant object: a `messages` array where each entry has a `date`, a `from`, a `text` field that can be a string or an array of formatted text runs, and sometimes a `photo` or `file` field pointing at a media filename in a sibling folder. Forwarded messages, replies and service messages (someone joined the group, a title changed) are mixed in using different shapes. None of that is meant to be read directly — it’s an interchange format.
The converter understands those shapes: it reconstructs the plain text from formatted runs, keeps links readable, and separates service events from actual messages so the transcript reads as a conversation rather than a data dump.
What the PDF includes
A cover page states the chat title, the participants, the date range and the message count, plus when the PDF was generated. The transcript itself lists each message with its exact date and time, sender name in bold, and the message text, with a separator whenever the day changes. Every page has a footer with the chat name and “Page X of Y” so pages can’t go missing after printing.
With the Case Pass, a certification page at the end records the SHA-256 hash of the exact result.json file used, plus an optional exhibit label and Bates numbering — useful when the transcript needs to be tied to a specific, unaltered source file.
Group chats, channels and usernames
Telegram exports of group chats and channels use the same result.json structure, just with more distinct senders. The parser lists every participant who appears in the export, not just the two people in a 1:1 chat, so a group thread with a dozen members still renders correctly with the right name on each line. Users who go by a username rather than a display name show that username unless you rename them in the preview step.
Media and attachments
If your export included media, result.json references photos and files by filename, stored in accompanying folders next to it. Photo embedding for Telegram exports currently mirrors the WhatsApp workflow — see WhatsApp chat to PDF with images for how embedding and size limits work, since the underlying PDF rendering is shared across platforms. Where a photo can’t be embedded, the transcript shows a placeholder line naming the file so the reader knows something was attached.
Privacy of Telegram exports
A Telegram export can contain years of private conversation, so it deserves the same caution as any sensitive document. This tool has no server-side upload for chat files — result.json is read and rendered by JavaScript running in your own browser tab. You can disconnect from the internet after the page loads and still generate the PDF.
Frequently asked
Do I need the HTML export or the JSON export?
JSON. Telegram Desktop can export as HTML or JSON; this tool only reads the JSON (result.json), which preserves structured data like exact timestamps and message IDs that the HTML export doesn’t give you as cleanly.
Can I export from Telegram on my phone?
Not a full chat history export — that feature is only in Telegram Desktop (Windows, Mac, Linux). Install the desktop app, log in, and export from there even if you normally use Telegram on mobile.
Does it handle emoji and non-Latin scripts?
Yes. The renderer detects Cyrillic, Arabic, Hindi, Chinese and other scripts used in the chat and embeds matching fonts, plus renders emoji in black and white so nothing shows up as a blank box.
What happens to deleted or edited messages?
Telegram’s export reflects the chat as it exists when you export it — a message someone later edited or deleted won’t appear in an original form unless Telegram’s export itself retained that history, which it generally doesn’t for ordinary edits.
Chat to Evidence is a document-formatting tool, not a law firm. Nothing on this page is legal advice; rules and app menus change, so check current official guidance.