Table of Contents
The comment every fanfic writer dreads is two words long: "feels OOC." It stings because it's usually right, and because it's so hard to say exactly what went wrong. This post is a method for getting canon voices right and keeping them right, whether you're writing a 2,000-word one-shot or a 200,000-word slow burn.
TL;DR: A canon character's voice is a small set of repeatable choices: what they notice, how they deflect, what they never say. Build a one-page voice reference per character from canon evidence, check every scene against the three OOC tests (would they say it, would they do it, would they want it), and keep the reference where your writing tool can see it. In Sudowrite, that's a Character card with a Dialogue Style trait, and the AI reads it while you draft.
How do you nail canon characters' voices?
By treating voice as evidence rather than vibes. Most writers try to channel a character from memory, and memory flattens everyone into a slightly generic version of themselves. The fix is to go back to canon and collect.
The method has five steps.
- Pull ten lines of dialogue from canon. Not the famous ones. The throwaway ones, because those are where the habits live. Put them in a document.
- Mark what they do, not what they say. Do they answer questions with questions? Deflect with jokes? Go quiet? Speak in full sentences or fragments? Swear, and if so, how? Use people's names or avoid them?
- Note what they notice. Voice is more than dialogue. In a POV scene, the character's attention is the voice. A detective notices exits. A healer notices who is favoring a leg. Write down three things this character always clocks in a room.
- Write the "never" list. Three things this character would never say or do, no matter the plot. This is the list that catches most OOC moments.
- Compress it to one page. Dialogue habits, attention habits, never list, and two or three verbatim canon lines as a tuning fork. This is your voice reference.
Keep the page open while you write. When a line feels off, check it against the page rather than against your gut.
If you write in Sudowrite, the Story Bible's Characters section is built for this. Each character gets a card with traits including Personality, Background, and Dialogue Style, and you can add your own traits, so "Never says" and "Always notices" become fields. The point of putting it there rather than in a separate document is that Write, Draft, Expand, and Chat read the cards while generating, so the voice reference is doing work instead of waiting to be consulted. You can also import characters from a text file, up to 60,000 words at a time, which is a fast way to move an existing notes document over.
How do I make sure I'm not writing characters OOC?
Run every scene through three tests before you post.
Would they say it? Read the character's dialogue aloud in their voice. If you can't hear the actor or the canon voice saying the line, rewrite it. The most common failure is a character being more articulate about their feelings than canon ever allowed. A character who deflects in canon should deflect in your fic, even in the confession scene. Especially in the confession scene.
Would they do it? Actions are where plot pressure pushes characters out of shape. You need them at the party, so they go to the party, even though canon has them refusing every invitation for three seasons. When plot needs a character to act against type, the story has to earn it on the page, with a reason strong enough that the reader believes it. If you can't write the reason, change the plot.
Would they want it? The deepest OOC problem is motivation. A character whose whole canon arc is about refusing to need anyone doesn't get to want a relationship in chapter two because the ship demands it. They can get there, but the fic has to show each step.
A few more tells that readers flag as OOC without always naming them:
- Everyone in the fic has the same sense of humor, which is the writer's.
- A sharp character explains their feelings in therapy language.
- A character who is terse in canon delivers paragraphs.
- Two characters' dialogue could be swapped with no loss.
That last one is the fastest self-check. Cover the dialogue tags. If you can't tell who is speaking, the voices have collapsed.
Keeping voice across a long fic
Short fics are hard to get wrong because you hold the whole thing in your head. Long fics drift. Chapter one's version of a character and chapter thirty's version are written months apart, and the writer has changed in between.
Three habits stop the drift:
- Reread the voice page before every writing session. Two minutes.
- Keep a "voice check" note per chapter. One line: which character was hardest to voice, and what fixed it.
- Ask a story-aware reader. Sudowrite's Chat has read your Story Bible and the full document you have open, so you can ask "does Kai's dialogue in this chapter match the Dialogue Style on his card" and get an answer grounded in your own reference rather than the AI's guess about who Kai is.
If you use AI to draft, voice drift is the specific risk to watch, because a general model will pull every character toward its own default register. Two settings limit that. Style Examples let you give Muse up to 1,000 words of your own prose so the narration stays yours. And the character cards keep the dialogue anchored to your evidence rather than to the model's memory of canon, which may be wrong or thin, especially for smaller fandoms.
A note on fanfic and AI
Some fandom spaces are wary of AI, and the wariness is often about voice: the fear that AI-assisted fic will flatten beloved characters into something generic. That fear is reasonable, and the method above is the answer to it. A writer with a one-page voice reference, a never list, and the three tests will produce more in-voice work with AI help than a writer with none of those things produces without it. The tool doesn't know who the character is, so your job is to write that down where the tool can see it.
FAQ
Can AI get a canon character's voice right on its own?
Not reliably. A general model has a rough memory of well-known characters and almost none of minor or newer ones, and it defaults to its own register under pressure. Give it a voice reference built from canon. In Sudowrite that's a Character card with a Dialogue Style trait, which the AI reads while drafting.
What's the fastest way to check a scene for OOC?
Cover the dialogue tags and read. If you can identify every speaker from the words alone, the voices are holding. If not, find the lines that could belong to anyone and rewrite them against the character's never list.
Is it OOC to have a character grow?
No. It's OOC to have them grow without cause. Growth has to be earned on the page, scene by scene. The reader should be able to point to the moment that changed them.
Does Sudowrite understand fandom terms like OOC or canon?
It's a fiction tool, and you can use any terminology you like in your Story Bible and instructions. What matters is that you define the character in the card. "Canon-typical: deflects with sarcasm, never says 'I love you' first" is an instruction the AI can follow.