Chatbound

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 export

The 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:

FieldWhat it holdsExample
chat_idThe conversation the message belongs to0b8c0225-7439-43e2-…
candidate_idAn id for this exact message45e9ca85-82ab-4dd0-…
raw_contentThe text, with *actions* between asterisks and \n for line breaks“Ah, a villain? Well, this just got interesting.”
create_timeWhen it was sent, in UTC, to the microsecond2026-02-12 14:29:10.450225+00:00
tti_image_rel_pathThe path of a picture made in the chat, when there is onenull 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_id and sort each group by create_time to 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, not text. Scripts and converters written for other chat exports look for text and 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.