guideApril 18, 20265 min read

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 custom extensions. 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.

A high-contrast, black and white minimalist photograph of a solid black monolith with a single, glowing white microchip embedded perfectly flush into its surface.


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

FeatureV2 (Legacy)V3 (Modern Standard)
Data StructureFlat JSON hierarchyNested, 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 brokenextensions 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.

A stark black and white architectural photograph looking up at brutalist concrete stairs folding outward into an infinite geometric maze.


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

Ready for private AI?

Experience zero-log, client-side encrypted AI roleplay directly in your browser.

Launch App