Here's a line that kills a scene every time: "I'm angry at you because you never listen to me." It's clear. It's grammatically fine. It tells the reader exactly what's happening. And it's dead on arrival, because real people almost never say the true thing directly, especially not to the person who caused it.
If your dialogue feels flat even though the mechanics are solid — tags in the right place, rhythm okay, nothing grammatically wrong — the problem usually isn't the words themselves. It's that the words are doing all the work. There's nothing left for the reader to figure out, and figuring things out is half of what makes dialogue feel alive.
Think of a spoken line as an iceberg. What comes out of the character's mouth is the 10% above the waterline. The other 90% — the actual feeling, the actual want, the history that's making this conversation charged — stays submerged. The reader senses it's down there because of pressure: word choice, what's avoided, what's overreacted to. That pressure is subtext, and it's the difference between dialogue that reads like a transcript and dialogue that reads like a scene.
The Iceberg Scene: What's Actually Underwater
Every loaded line of dialogue has three layers stacked underneath it:
- What the character says — the literal sentence.
- What the character means — the actual thought or feeling driving the line.
- What the character wants from the other person — the response they're fishing for, whether that's reassurance, an apology, permission to leave, or just to be noticed.
Here's a flat version with no iceberg at all:
"I feel unappreciated because I do everything around here and you don't notice."
Now watch what happens when we push that same feeling underwater and let a mundane conversation carry it instead.
"What do you want for dinner?"
"Whatever's easiest for you."
"I didn't ask what's easiest. I asked what you want."
"Honestly? I don't care. Order something."
"Fine."
Nobody says "unappreciated." Nobody says "notice me." But the reader feels the argument that isn't about dinner. The literal topic (what to eat) is a stand-in for the real one (do you see how much I do, and do you care). That gap between topic and meaning is where subtext lives.
The Tools That Create Subtext
You don't need tricks so much as a small set of reliable moves. Three do most of the heavy lifting.
Deflection. A character redirects rather than answers. Someone asks "Are you okay?" and instead of "no," they say "Did you turn off the stove?" The dodge itself is information — it tells the reader the real question was too dangerous to touch.
Displacement onto a proxy topic. The characters argue about something adjacent — the weather, a chore, a mutual friend, whose turn it is to walk the dog — and the real fight rides underneath it. This works especially well for conflicts the characters aren't ready to name out loud, including to themselves. A scene about a broken dishwasher can be a scene about resentment that's been building for a year; a scene about a coworker's promotion can be a scene about whether two friends still trust each other.
Contradiction between word and action. "I'm fine" while slamming a cabinet door. "Take your time" while checking a phone every four seconds. "I'm not mad" delivered in a perfectly flat, controlled voice that's somehow louder than shouting. The body tells the truth the mouth is refusing to.
You'll often combine two of these in the same beat — deflection and a contradictory action, say — which is exactly how tense real conversations tend to work. If you want a refresher on making the surface texture of dialogue sound natural before you start layering subtext into it, How to Write Dialogue That Sounds Real is a good foundation to pair with this.
Exercise: Take an On-the-Nose Line and Bury It
The fastest way to internalize this is to convert flat lines yourself. Here are three common ones, rewritten.
Before: "I'm scared you're going to leave me."
After:
"You've been looking at flights again."
"Just for work."
"You always say that."
The fear is never named. It surfaces as suspicion about travel — a proxy that lets the character raise the issue without saying the terrifying sentence out loud.
Before: "I don't think I'm good enough for this job."
After:
"They gave the Henderson account to Priya."
"It's not a big deal."
"No, I know. It's fine. Makes sense."
"It's fine" repeated twice, meaning the opposite both times, does the work "I don't think I'm good enough" would have done — except now the reader has to lean in and read the character instead of just being told.
Before: "I still love you, but I don't trust you anymore."
After:
"You can borrow the car."
"Really?"
"Just text me when you get there. And when you leave. And who you're with."
"That's a lot of texts."
"Yeah, well."
Notice the mechanics in each: the topic changes to something concrete and low-stakes (flights, an account assignment, a car), but the emotional charge of the original line stays fully intact underneath it. That's the whole trick — swap the subject, keep the temperature.
Where Subtext Comes From: Know the Iceberg Before You Hide It
Subtext only works if you, the writer, know precisely what's submerged. Vague hinting isn't subtext — it's fog. If you don't know why your character won't say the true thing, the scene will feel evasive in a way that reads as sloppy rather than intentional.
So before you write the buried version of a scene, answer the plain version for yourself: What does this character actually feel? What do they want from the other person right now? And critically — why won't they say it? Pride, fear of rejection, a promise they made once, a family habit of never discussing feelings directly, the sense that saying it out loud would make it real. That reason should trace back to who this character is and what's happened to them, not just be "because the plot needs mystery."
This is where subtext connects directly to character work you've probably already done. If a character has a flaw like pride or conflict-avoidance from your list in Character Flaws: 40 Ideas and How to Use Them, that flaw is often exactly the mechanism blocking the direct statement. The flaw isn't just decoration — it's the reason the iceberg stays underwater in this particular scene with this particular person.
When to Surface: Letting the Iceberg Break
Subtext needs release valves. If every conversation in your manuscript stays submerged, readers eventually lose the thread of the emotional conflict entirely — they can tell something's wrong, but forty pages of nothing but deflection starts to feel like the characters, and the writer, are stalling.
Pick your moments to let the truth surface directly, and make them count by contrast. If a couple has spent three scenes arguing about dinner, dishes, and a dog-walking schedule, the scene where one of them finally says "I don't feel like you see me anymore" should land like a dropped weight — specifically because you've trained the reader to expect deflection by then. The direct line is only powerful because everything before it wasn't direct.
A rough pacing rule: let subtext build across a scene or two, then break it. Don't sustain buried conflict across an entire act without at least one moment of plain speech, even if that moment is brief, reversed immediately, or undercut by the other character refusing to receive it ("I don't feel like you see me anymore." "...Can we not do this right now?"). That refusal is itself a new turn of subtext, and the cycle continues.
A Line-by-Line Revision Pass for Subtext
Once you have a full scene drafted, go back through the dialogue with this checklist:
- Does this line state exactly what the character feels or wants? If yes, that's a flag — not necessarily wrong, but worth a second look.
- If it is on-the-nose, what mundane, adjacent, or unrelated topic could carry the same emotional weight instead?
- Is there an action or gesture happening during this line that could contradict it instead of match it?
- Would this character actually say this out loud to this specific person, given their relationship and history? Or would they route around it?
- Have I gone three or more exchanges without any concrete, sayable topic on the surface? If everything is fog, add an anchor — a real subject the characters are ostensibly discussing.
This kind of pass is tedious to do by eye across a full manuscript, which is where a tool built for exactly this helps. Just Write's character voice checker can flag dialogue where a character's stated feelings don't match the personality and history you've established for them — a decent proxy for spotting lines that are too on-the-nose to be that character's natural register.
Try This Now
Open your current draft and find one scene where a character says their feelings straight out — "I'm angry," "I'm scared," "I don't trust you," anything stated plainly. Rewrite that exchange three separate ways:
- Using deflection — the character answers a different question than the one asked.
- Using action contradiction — the words say one thing, the behavior says another.
- Using displacement — the whole conversation happens about a different, concrete topic that carries the same charge.
Read all three back to back. Notice which one you instinctively believe more than the original. That's usually the version worth keeping.
If you're drafting a scene from scratch and can feel that a line is too direct but can't find the buried version yet, Just Write can help you generate alternate takes on a scene while you hunt for the line your character would actually say instead of the one they mean.
