Why export your Character.AI chats?
A long roleplay is weeks of shared history, and it lives on one platform. An export gives you a copy you control, whatever happens to the original.
- A backup in case a character is removed or changed
- A way to continue the same story with other models and settings
- A record you can reread or archive outside the app
Step 1: Request your data export
The export is Character.AI's own feature and every account has it. It downloads your account data in one go; there is no per-chat export button.
On the web
- 1Open your profile and go to Profile Settings
- 2Choose Account, then Manage Account & Data
- 3Select Export data and confirm
In the app
- 1Open your Profile
- 2Open settings
- 3Tap Export my data
Menu names change from time to time. If you can't find these options, Character.AI's official export instructions are the current reference. The export can take a while to prepare; download it once Character.AI makes it available.
Step 2: Find your conversation in the archive
The download is a ZIP archive. Unzip it on your computer first: Reverie reads the conversation file inside, not the ZIP itself.
Character.AI has changed the archive's layout over time, so look for the file by what it contains rather than by its name. Open the JSON files in any text editor. The one you want holds your messages, usually as a list called "turns" with "candidates" for each reply.
{
"turns": [
{
"author": { "name": "You", "is_human": true },
"candidates": [{ "candidate_id": "a1", "raw_content": "Where were we?" }],
"primary_candidate_id": "a1"
},
{
"author": { "name": "Aria" },
"candidates": [{ "candidate_id": "b1", "raw_content": "At the lighthouse…" }],
"primary_candidate_id": "b1"
}
]
}Reverie also recognizes older exports that keep chats under "histories" and "msgs", and flat message lists marked with "is_human".
Step 3: Import the chat into Reverie
Each conversation goes into its own empty chat with the character you were talking to.
- 01
Set up the character
Find the same character on Reverie, or recreate it from its greeting, description and a few sample replies. The character importer can build it from a card or screenshots.
- 02
Start a new, empty chat
Import only works in a chat with no messages yet, so two timelines never get mixed together.
- 03
Upload the conversation file
In that chat, open Chat Settings → Chat Management → Import Chat and choose the JSON file.
- 04
Check the preview, then confirm
Before anything is saved, Reverie shows the detected format, how many messages it found, and how many came from you and from the character. Confirm, and carry on from the last message.
What carries over, and what doesn't
The importer moves the transcript. Some things on Character.AI aren't in the export or have no exact equivalent, so here is the full list.
| What | Carries over | Details |
|---|---|---|
| Your messages and the character's replies | Yes | Every recognized message, with the speaker kept. |
| Message order | Yes | Kept as in the original. Exports saved newest-first are put back in order. |
| Timestamps | Partly | Kept when the export has valid ones; otherwise messages are ordered at import time. |
| Several chats in one file | Partly | The first conversation is imported and the preview tells you. Move others from their own files. |
| Alternate replies (swipes) | No | Only the reply you kept is imported; the other candidates don't become swipes. |
| The character's definition | No | The importer reads conversations, not character settings. Recreate the character on Reverie. |
| Pinned memories | No | Not recreated as pinned memories. Add what matters to the character after importing. |
| Images, voice and attachments | No | Only message text is imported. |
Character.AI export not working?
Most failed transfers come down to one of these.
The export never arrived, or the download failed
Character.AI prepares the export, so request it again from the same settings page and check the email address on your account. Reverie can't fetch it for you.
Reverie won't accept the ZIP file
Unzip the archive first and upload the JSON conversation file inside it. The importer accepts .json, .jsonl, .txt and .md files.
"We couldn't read this file"
You probably picked an account or settings file, or the ZIP itself. Open the JSON files and choose the one that contains your conversation text.
Only one chat was imported
When a file holds several conversations, Reverie imports the first and says so in the preview. To move another, save it as its own JSON file and import it into a new empty chat.
"This chat already has messages"
Import only works in an empty chat. Start a new chat with the character and import there.
The file is too large
One import can be up to 10 MB and 10,000 messages. Split a very long conversation into parts and import each into its own chat.
Can you export a Character.AI character?
Reverie imports the conversations from your export, not a character's definition, so the character itself needs rebuilding. If you made it, copy its name, greeting, description and definition from Character.AI's edit screen. If someone else made it, the public greeting and description, plus a few lines from your chats, are usually enough to capture its voice.
Paste that into the character importer or build the character from scratch, then import your chat into it. The conversation picks up where it left off.