Convert Instagram messages to PDF
Updated
When you download your Instagram data from Meta, your direct messages come back as message_1.json — a machine-readable file with no formatting, broken text encoding, and often split across several numbered files for one long conversation. Chat to Evidence turns that into an actual PDF transcript: dated, paginated, with a sender name on every message.
The file is processed locally in your browser. Nothing is uploaded to a server, which matters given that a DM export can include a lot of personal messages at once.
How to convert Instagram DMs to PDF
- Request and download your messages from Meta first — see How to download Instagram messages for the exact steps through Accounts Center.
- Unzip the download and find message_1.json inside your_instagram_activity/messages/inbox/<conversation name>/. Long conversations may also have message_2.json, message_3.json and so on.
- Open chattoevidence.com and drop message_1.json onto the page. If the conversation is split across several numbered files, drop the whole download .zip instead (or zip that conversation’s folder) — the tool finds every message_N.json inside, merges them and re-sorts by timestamp.
- Check the preview for correct participant names and that special characters look right (see the mojibake note below). Rename participants if a username should read as a real name.
- Click Generate PDF. The free preview covers the first 100 messages with a watermark; the $9 Case Pass unlocks the full conversation, removes the watermark and adds the certification page.
Fixing garbled accents and emoji (mojibake)
Meta’s JSON export has a well-known bug: it encodes text as UTF-8 but writes it into the JSON file as if it were Latin-1, so any accented character, non-English word or emoji comes out as garbage — a message that should read “café ☕” shows up as “café â’—. This isn’t a problem with your conversation; it’s how Meta’s export tool escapes text, and it affects everyone’s Instagram and Facebook downloads, not just yours.
Chat to Evidence detects this pattern and reverses it automatically before rendering the PDF, so names, emoji and non-English text come out the way they were actually typed. You don’t need to do anything for this to happen — it runs as part of parsing the file.
What the PDF looks like
The output starts with a cover page listing the conversation title, participants, date range and message count. The transcript that follows shows one message per row with the timestamp, sender name and text, with day separators so a reader can track how the conversation unfolded over time. Every page has a footer with “Page X of Y” so nothing goes missing if it’s printed or copied.
With the Case Pass, a certification page records the SHA-256 hash of the exact message_1.json (and any additional numbered files) used to generate the PDF, along with an optional exhibit label and Bates numbers for referencing specific pages.
Multi-part conversations and merged files
Instagram splits long DM threads across multiple JSON files, numbered message_1.json, message_2.json and onward, each covering a slice of the conversation in reverse-chronological chunks. If you only upload message_1.json, you’ll get the most recent portion, not the whole thing. Drop the entire download .zip (or a zip of that conversation’s folder) and the tool merges every numbered file into one continuous, correctly ordered transcript.
Why do this instead of screenshotting the app?
Screenshotting an Instagram DM thread is slow, loses exact timestamps behind relative labels like “2h”, and produces images that can’t be searched or reliably paginated. A JSON-based PDF keeps every original timestamp, orders messages correctly even across days, and produces a document that prints and pages the same way every time — which is what an HR reviewer, a court clerk or a visa officer generally expects to see.
Frequently asked
Why do my Instagram messages have weird symbols instead of accents or emoji?
That’s a known encoding bug in Meta’s JSON export, not damage to your data. Chat to Evidence detects and repairs it automatically when you upload the file, so the PDF shows the correct characters.
I have message_1.json, message_2.json and message_3.json — do I need all of them?
Yes, if you want the full conversation. Drop the whole download .zip, or zip the conversation folder, and the tool merges every numbered file into one transcript in the right order.
Does this work for Instagram group chats?
Yes. Group DMs export the same way, just with more participants listed in the JSON; each sender’s name appears correctly on their messages.
Is there a difference between JSON and HTML export formats from Meta?
Yes — request JSON, not HTML, when downloading your information. This tool reads the JSON format; the HTML export is a different, less structured file that isn’t supported.
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.