Open a Character.AI JSON file as readable chats
Last checked 27 October 2026
A Character.AI JSON file comes from the data export, which holds three of them: message.json with your messages, character.json with the characters you made and user.json with your account. In a text editor they look like code. Chatbound is a viewer and converter that reads them in your browser and turns them back into chats you can read, search and save.
Have message.json? Choose it in Chatbound, with character.json and user.json if you have them. Nothing is uploaded.
Open it, step by step
- Open Chatbound and click Choose the file.
- Choose
message.json. To see your characters and account details too, selectcharacter.jsonanduser.jsonat the same time. All three are in the export’sdatafolder. - The chats open grouped by conversation, newest first, each in time order. Search finds a word in any message.
Still have the ZIP? Choose that instead: Chatbound opens it with your email address and reads all three files without unzipping anything. Files in the JSON Lines format open too, and other JSON with messages in it opens in a simpler view that keeps any names the file has.
Convert it
| To | How | Free or Pro |
|---|---|---|
| Plain text, HTML or Markdown | Open a chat and save it | Free |
| A SillyTavern chat file (JSONL) and a character card (PNG or JSON) | The Move to another app tab | One character free, every character with Pro |
| One offline HTML book of every chat, with contents and search | From the reader | Pro |
| PDF, laid out in pages | From the reader | Pro |
| EPUB, for Apple Books, Google Play Books, Kobo and other readers | From the reader | Pro |
Why the file is hard to read
- Every chat is in one list.
message.jsonholds the messages of all your chats together. Each has achat_id: group by it and sort bycreate_timeto rebuild a chat. - The text is under
raw_content. Converters written for other chat exports look fortextand find nothing. - There is no sender. Nothing says whether you or the character wrote a message. Chatbound shows messages in order and doesn’t invent names.
- It can be huge. Long histories run to hundreds of megabytes. Chatbound reads the file in pieces in the background: in our tests, a 106 MB export holding 288 MB of messages opened in 10 to 16 seconds on a laptop.
Every field is explained in what’s in the Character.AI export.
If you’d rather write a script
The structure is simple enough for a short script: read message.json as a list, group the entries by chat_id, sort each group by create_time and print raw_content. For a file of hundreds of megabytes, use a streaming JSON parser, since loading the whole file at once can take far more memory than its size.
Sources: AIInsightsNews, “How to Export Character AI Chat in 2026”, a hands-on account with screenshots of the email and the ZIP (25 May 2026, checked 21 October 2026) (the file layout and its fields); Chatbound’s own tests (checked 27 October 2026).
Questions
How do I open a Character.AI JSON file?
Choose message.json in Chatbound, a free reader that runs in your browser. It groups the messages back into chats. A text editor shows the raw list, with every chat mixed together.
Can I convert Character.AI JSON to text?
Yes. Open the file in Chatbound, open a chat and save it as plain text, HTML or Markdown, for free. Pro saves every chat at once as a book, a PDF or an EPUB.
My message.json is too big to open. What now?
Text editors and online JSON viewers often freeze on files of hundreds of megabytes. Chatbound reads the file in pieces in a background worker, so a large file opens without freezing the page.
Is my JSON file uploaded?
No. Chatbound reads it on your device. The page’s security policy allows only a licence check and an anonymous visit counter, and neither receives your file.