What’s in the Character.AI data export
The export is a ZIP file locked with your email address. Inside is a folder named after your username, a data folder, and three JSON files: one for your account, one for the characters you created and one for your messages.
Character.AI’s help centre doesn’t describe the file. What follows comes from a hands-on account of a real export with screenshots of the ZIP and of message.json, and from the field names that tools reading the export rely on. If your file looks different, Chatbound still opens it: anything it doesn’t recognise is shown as a general list of the text it finds.
Have the ZIP? Open it in Chatbound: it opens the locked file with your email address, lists every chat and lets you search and save them. Nothing is uploaded.
Open your exportThe layout of the ZIP
YourUsername/
data/
user.json
character.json
message.json
The top folder carries your Character.AI username (in the published example, an automatically made name of an adjective, an animal and four digits). The ZIP has a password: the email address of your account in lowercase. The password page covers that step.
message.json: every message
This is the big file and the one people want. It is one long list. Each entry is a single message:
| Field | What it holds | Example |
|---|---|---|
chat_id | The conversation the message belongs to | 0b8c0225-7439-43e2-… |
candidate_id | An id for this exact message | 45e9ca85-82ab-4dd0-… |
raw_content | The text, with *actions* between asterisks and \n for line breaks | “Ah, a villain? Well, this just got interesting.” |
create_time | When it was sent, in UTC, to the microsecond | 2026-02-12 14:29:10.450225+00:00 |
tti_image_rel_path | The path of a picture made in the chat, when there is one | null in every message of the published example |
Three things make the raw file hard to read:
- The chats are mixed together. Messages from different conversations sit side by side. You have to group them by
chat_idand sort each group bycreate_timeto get a conversation back. - There is no sender. No field says whether you or the character wrote a message, and no field names the character. A reader can only show the messages in order. Chatbound does exactly that and never guesses names.
- The text is under
raw_content, nottext. Scripts and converters written for other chat exports look fortextand come back empty.
character.json: the characters you made
A list of the characters your account created, not every character you talked to. The hands-on account lists the title, the name and the created and updated times; readers of the export also use description, greeting and definition. If you made characters, this file is how you keep their definitions. Chatbound’s Characters tab shows each one with a button to copy the definition.
One useful link between the files: when a chat in message.json begins with the exact greeting of one of your characters, that chat almost certainly started with that character. Chatbound marks those chats as “Opens with the greeting of …”. Chats with characters made by other people can’t be matched this way, because their greetings aren’t in your export.
user.json: your account
Your account details: first_name, email, is_active and date_joined. It is short, and the email in it is the password of the ZIP.
What the export doesn’t seem to include
- Who wrote each message, and which character each chat was with (see above).
- Pinned memories: the hands-on account says they don’t reliably appear, and advises copying them by hand while the site is up.
- Chats you deleted before asking for the export.
- Voice messages and calls: the help centre doesn’t say, and we haven’t seen them in any described export.
Reading it without a tool
You can unzip it with a tool that handles password-protected ZIPs (7-Zip on Windows, Keka on a Mac), then open message.json in a code editor such as VS Code. You’ll see the raw list described above, not conversations. For a long history the file can run to hundreds of megabytes, which slows many editors and online JSON viewers to a crawl. Chatbound reads it in pieces in the background and groups it into chats.
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); Character.AI Help Center, “How do I download my data?” (checked 21 October 2026). The example values in the table are from the published screenshot.