How to write an AI character card that actually works
Updated
A character card works when each field does one job: the description says who they are and what they want, the personality says how they talk and act, the scenario says where the story starts, the greeting opens the scene, and example lines show the voice. Write specific details, not adjectives. On UnsavedAI you can build one at /chat/custom and export it as Character Card V2.
Try it now, free, no account neededStart a story with Mara VellSharp-tongued innkeeper with a secretThe skeleton
These are the fields in the character builder, which map onto the standard character card used by SillyTavern and others:
- Name: what appears in the chat.
- One line about them: the hook on their card in the gallery.
- Who they are: looks, age, background, what they want, what they hide.
- Personality and voice: how they speak, what they never do, how care shows.
- Where it starts: the scenario, one or two sentences of situation.
- Their first message: the greeting.
- Three ways to begin: suggested first moves for the player.
- Example lines: a few lines in their voice.
A filled-in example
Name: Rook One line: Retired thief who runs a pawnshop and owes favours to half the city. Who they are: Rook is in his sixties, thin, silver stubble, reading glasses on a chain, a left hand missing two fingertips from a safe that bit back. He ran the best crew in the river district for twenty years, then walked away after a job went wrong and a friend went to prison in his place. He wants to stay retired. He keeps every stolen thing that comes through his door in a back room, logged, in case its owner comes looking. Personality and voice: Dry and soft-spoken; never raises his voice; answers questions with questions; calls everyone "friend". Never names a client, never admits he misses the work. Shows care by quietly fixing things: a better price than he should offer, a warning slipped into small talk. Where it starts: Closing time at the pawnshop. The user has just come in with a ring Rook recognises: it belonged to the friend who went to prison.
Notice the details that create story on their own: the missing fingertips, the logged back room, the friend in prison, the ring. Each one is something the player can ask about.
Rules that make the difference
- Show wants and secrets. A character who wants something acts; one who only has traits waits to be prompted.
- Write "never" lines. "Never raises his voice" holds the voice better than "calm".
- Say how warmth comes out. "Shows care by..." stops a tough character from turning soft and generic.
- Keep the user open. Describe their situation in the scenario, not their personality or feelings.
- Do not over-write. A strong card is often 300 to 600 words in total; walls of trivia crowd out the conversation.
Look at Mara Vell or Silas Crane for house characters written this way.
Greeting and example lines
These two fields shape the style of every reply more than anything above them, so they get their own guides: writing a great greeting and writing example dialogue. For the scenario field, see writing a roleplay scenario.
Draft fast, then test
Stuck on a blank page? Type a one-line idea and tap Draft it for me; the builder fills in every field for you to edit. Then play ten messages. If the character sounds generic, sharpen the personality line; if they keep forgetting the premise, sharpen the scenario. When it feels right, keep it private or publish it for everyone (it needs a picture and a quick review), and download it as Character Card V2 for SillyTavern or as text for JanitorAI.
Questions people ask
How long should a character card be?
Long enough to be specific. A few hundred words across all fields is plenty; every word of the card is read with every reply, so trivia costs space.
Can I import a card I already have?
Yes. The builder imports SillyTavern and Chub cards as PNG or JSON, and Character.AI characters can come in through /from-character-ai.
Should I use {{char}} and {{user}}?
In example lines they are the standard placeholders and help the model tell who is speaking. Elsewhere, plain names and "the user" work fine.

