SillyTavern Character Cards, V2 vs. V3: What Changed and Why It Matters
A developer-written breakdown of PNG metadata, V3 structure, and how not to accidentally corrupt your cards.
Most people think a character-card PNG is just an image.
In the SillyTavern ecosystem it is closer to a portable prompt container: the pixels are decoration, and the metadata is the payload.
V2 worked when context windows were small and workflows were simpler. V3 exists because the community started doing more sophisticated things: alternate greetings, richer structure, extension data, and fewer “stuff everything into one field” hacks.
This post is the under-the-hood explanation. It is written the way I wish someone had explained it to me the first time I accidentally wiped a card.
TL;DR - What's the difference?
- V2: The old standard. Good for simple, standalone bots. Token-heavy and structurally limited.
- V3: The new meta. Uses a nested JSON structure with native support for
alternate_greetings, version tracking, and customextensions. Built for complex, multi-character world-building.
1. How Does a Picture Hold a Prompt? (PNG Steganography)
If you have ever wondered how a literal picture can contain a prompt payload, the answer is not mystical.
PNG supports metadata chunks.
PNG files are split into chunks. Some are pixel data. Some are metadata. Creators store a JSON payload in text chunks (often base64-encoded), and frontends read it during import.
When you import a card, the app extracts the JSON and uses it as the character definition. The image is mostly just a thumbnail.

2. V2 vs. V3: What Actually Changed?
The original V2 spec gave us the basics: name, description, personality, and mes_example. It was fine for simple one-on-one chats. But as creators started building RPG scenarios and interconnected lore, they hit a wall.
V3 fixes this by wrapping the character logic inside a dedicated data block and opening up the extensions dictionary.
Feature Comparison
| Feature | V2 (Legacy) | V3 (Modern Standard) |
|---|---|---|
| Data Structure | Flat JSON hierarchy | Nested, extensible JSON (data object) |
| Alternate Greetings | ❌ Hacky workarounds only | ✅ Natively supported array |
| Character Versioning | ❌ Manual tracking | ✅ Native character_version field |
| Creator Notes | ❌ Mixed into description | ✅ Dedicated creator_notes field |
| Custom Extensions | ❌ Ignored or broken | ✅ extensions object for custom dev logic |
The V3 JSON Structure: Under the Hood
Unlike V2, which dumps everything at the root level, V3 is structured for token efficiency. Frontends can now selectively load elements instead of dumping the entire file into the context window.
{
"spec": "chara_card_v3",
"spec_version": "3.0",
"data": {
"name": "Aria",
"description": "...",
"alternate_greetings": [
"You find Aria sitting alone in the tavern...",
"Aria draws her sword the moment you enter the room."
],
"character_version": "1.2",
"extensions": {
"depth_prompt": {
"prompt": "Remember to speak in archaic English.",
"depth": 4
}
}
}
}
3. Stop Corrupting Your Cards
You can extract the JSON, edit it, and re-inject it. It works.
But it is one more step where compatibility can silently break.
Most people use a web editor. The danger is that generic image editors do not care about the metadata chunks you rely on. Some tools strip or rewrite them.
If a tool wipes the chunks, the pixels remain, but the payload does not.
When you start writing highly specific Regex rules or deep Lorebooks, you need a robust editor that explicitly supports V3 extensions without stripping them out upon save.

4. The Local Dilemma: Dead Drives vs. Cloud Censorship
If you are a strict local user, you face a massive dilemma. You keep your V3 PNGs strictly on your local SSD to avoid prying eyes. But the second your drive dies, or you format your PC without a backup, boom—hundreds of hours of carefully crafted lore, custom regex rules, and fine-tuned personas are permanently nuked.
So, what's the alternative? Syncing your cards via standard cloud drives (Google Drive, Dropbox) or using centralized chat apps? If you are running unfiltered, NSFW, or highly private scenarios, uploading your plaintext JSON to corporate servers is begging for automated bans, silent censorship, or data leaks.
You should not have to choose between losing your data and trusting a generic cloud drive with plaintext.
Disclosure: I build Abolitus.
Abolitus gives you the convenience of PC-to-Mobile cross-play using end-to-end encrypted cloud sync (keys stay on your device), while keeping compatibility with SillyTavern V2/V3 card formats.
- AES-256-GCM encryption for sync payloads: data is encrypted locally before upload.
- Encrypted-by-default sync: The server is intended to store ciphertext blobs; without your keys, it is not able to decrypt your card contents.
- ST card compatibility: You can import ST V2 and V3 cards, sync encrypted state, and continue a session across devices.
You get to keep your data backed up and synced, while maintaining the absolute privacy of a purely local setup.
5. FAQ
Q: Will my old V2 cards stop working? No. Almost all frontends, including Abolitus, maintain backward compatibility with V2. But if you export or save edits, you should upgrade them to V3 to unlock alternate greetings and extensions.
Q: Does W++ formatting work better in V2 or V3?
W++ works the exact same across both versions since it's just a writing style placed inside the description field. That said, there is a massive debate in the community right now regarding W++ vs. Natural Language—which we’ll break down in our next post.
If you want to keep your cards portable without trusting a generic drive with plaintext, you can try Abolitus.
Continue Reading
Related Guides
Character.ai Chat History Gone? How to Recover Logs & Export Data
A 2026 recovery and export guide for Character.ai users dealing with missing chats, blank histories, and platform lock-in, with a focus on what recovery paths are real and how to stop this from happening again.
LM Studio vs Oobabooga vs Ollama: Which is Best for Local AI Roleplay?
A 2026 roleplay-focused comparison of LM Studio, Oobabooga, and Ollama covering sampler control, context handling, backend speed, trust boundaries, and day-to-day usability.
Top 5 Character.ai & Janitor AI Alternatives for Uncensored Chat (2026)
Five real exits for people tired of filters, verification walls, disappearing bots, and brittle roleplay stacks in 2026.
Ready for private AI?
Experience zero-log, client-side encrypted AI roleplay directly in your browser.
Launch App