Open your Character.AI data export and read your characters and chats — in your own browser. The file is read on your device; nothing is uploaded anywhere.
Use it online, free and without an account: amavie.ai/character-ai-export. This repository is the same reader as open source, so you can check what it does with your file or run it yourself.
- Character.AI data export — the ZIP (or the JSON files inside it) from Character.AI's “Export data”: your characters and every chat, with dates and both sides of the conversation.
- Character cards — PNG cards with the card inside (SillyTavern, Chub, JanitorAI, RisuAI, Agnai, Backyard AI) and card JSON.
- Chat exports — SillyTavern
.jsonlchats, WhatsApp and Telegram exports, plain text.
npm install
npm run dev # opens the viewer at http://localhost:5173
npm test # format tests
npm run build # static files in dist/ — host them anywhere
Requires Node.js 20 or newer. No server, no analytics, no network requests: the page reads the file with the File API and unzips it with fflate.
import { readImportFile } from './src/lib/parse';
const reading = await readImportFile(file); // a File from <input type="file">
if (reading.kind === 'pick') {
// Character.AI export: reading.pick.characters, reading.pick.chats (messages with role, name, text, time)
} else if (reading.kind === 'request') {
// one card or one chat: reading.request.card_json, reading.request.chat
}
The reader is the one Amavie uses to bring a character and a conversation over from another app;
src/lib is mirrored from Amavie's codebase, so fixes land there first. Issues and pull requests are welcome.
Amavie is a universe of AI characters who remember you and live their own lives — chat with them and play roleplay scenes on the web, iOS and Android.
MIT — see LICENSE.