← Roleplay terms explained

What is a character card in AI roleplay?

Updated

A character card is a small file that describes an AI roleplay character: their name, description, personality, scenario, first message and example dialogue. Apps such as SillyTavern read the card and turn it into instructions for the model. Cards usually travel as JSON or as a PNG portrait with the data hidden inside, and UnsavedAI imports both.

Try it now, free, no account neededStart a story with Mara VellSharp-tongued innkeeper with a secret

What a card actually contains

Think of a card as a character sheet the model reads before every reply. The common fields are:

  • name: what the character is called, and what {{char}} turns into.
  • description: looks, background, what they want and what they hide.
  • personality: a short summary of how they talk and act.
  • scenario: where the story starts and who you are to them.
  • first_mes: the greeting that opens the chat.
  • mes_example: example lines in the character's voice.

Newer cards (Character Card V2 and V3) add more: alternate greetings, creator notes, a character-specific system prompt, tags and an attached lorebook. See what Character Card V2 is for the full list.

How a card turns into a reply

The card itself is not a model or a program. When you chat, the app pastes the card's fields into the prompt, adds your recent messages, and sends the whole thing to the model. A card like this:

{ "name": "Mara Vell", "personality": "dry, watchful, generous with ale and stingy with answers", "scenario": "{{user}} arrives at Mara's inn during a storm", "first_mes": "*Mara slides a key across the bar without looking up.* Room four. Don't ask about room five." }

becomes part of the instructions the model sees, which is why a well-written card keeps a character consistent for hundreds of messages and a vague one drifts into a generic assistant after twenty.

JSON or PNG?

A JSON card is the data on its own. A PNG card is a portrait image with the same JSON stored inside it as base64 text in a metadata chunk named "chara" (V3 cards also use "ccv3"). To the eye it is just a picture; to SillyTavern or Chub it is a full character. That is why re-saving a card through an image editor or a screenshot often breaks it: the hidden text is lost.

Common mistakes

  • Writing the description as a list of adjectives. Show behaviour instead: what they do when they are annoyed, what they never say.
  • Repeating the same fact in description, personality and scenario. It wastes tokens and makes the model fixate on it.
  • A huge card. Every word is read on every reply, so a 3,000-word card eats context your story could use.
  • Writing the character's actions for {{user}} in the greeting. It teaches the model to speak for you.

Cards in UnsavedAI and other apps

Every house character on UnsavedAI, from Mara Vell to the Narrator, is built from the same parts: personality, scenario, greeting and example dialogue. You can make your own at /chat/custom, import a SillyTavern or Chub card as PNG or JSON, and export any character you made as a Character Card V2 file for SillyTavern or as text for JanitorAI. If you are writing one from scratch, how to write a character card walks through each field.

Questions people ask

Are character cards safe to download?

A card is plain text data (JSON, or JSON inside a PNG), not a program. The usual care still applies: only use cards from sources you trust and respect the creator's wishes about sharing.

Can I use a JanitorAI character as a card?

If the creator has made the definition visible, you can copy the fields into a card or into the UnsavedAI character editor. Only bring characters you made or that their creators are happy to share.

Why does my imported card behave differently?

Each app builds the prompt slightly differently and different models read the same text differently. Adding two or three lines of example dialogue is the quickest way to pull the voice back.

Characters for this story