Tips for writing flawed but lovable characters.
Flawed characters are the ones we root for, cry over, and remember long after the story ends. But creating a character who’s both imperfect and likable can feel like a tightrope walk.
1. Flaws That Stem From Their Strengths
When a character’s greatest strength is also their Achilles' heel, it creates depth.
Strength: Fiercely loyal.
Flaw: Blind to betrayal or willing to go to dangerous extremes for loved ones.
“She’d burn the whole world down to save her sister—even if it killed her.”
2. Let Their Flaws Cause Problems
Flaws should have consequences—messy, believable ones.
Result: They rush into action, ruining carefully laid plans.
“I thought I could handle it myself,” he muttered, staring at the smoking wreckage. “Guess not.”
3. Show Self-Awareness—or Lack Thereof
Characters who know they’re flawed (but struggle to change) are relatable. Characters who don’t realize their flaws can create dramatic tension.
A self-aware flaw: “I know I talk too much. It’s just… silence makes me feel like I’m disappearing.”
A blind spot: “What do you mean I always have to be right? I’m just better at solving problems than most people!”
4. Give Them Redeeming Traits
A mix of good and bad keeps characters balanced.
Flaw: They’re manipulative.
Redeeming Trait: They use it to protect vulnerable people.
“Yes, I lied to get him to trust me. But he would’ve died otherwise.”
Readers are more forgiving of flaws when they see the bigger picture.
5. Let Them Grow—But Slowly
Instant redemption feels cheap. Characters should stumble, fail, and backslide before they change.
Early in the story: “I don’t need anyone. I’ve got this.”
Midpoint: “Okay, fine. Maybe I could use some help. But don’t get used to it.”
End: “Thank you. For everything.”
The gradual arc makes their growth feel earned.
6. Make Them Relatable, Not Perfect
Readers connect with characters who feel human—messy emotions, bad decisions, and all.
A bad decision: Skipping their best friend’s wedding because they’re jealous of their happiness.
A messy emotion: Feeling guilty afterward but doubling down to justify their actions.
A vulnerable moment: Finally apologizing, unsure if they’ll be forgiven.
7. Use Humor as a Balancing Act
Humor softens even the most prickly characters.
Humorous side: Making snarky, self-deprecating remarks that reveal their softer side.
“Love? No thanks. I’m allergic to heartbreak—and flowers.”
8. Avoid Overdoing the Flaws
Too many flaws can make a character feel unlikable or overburdened.
Instead of: A character who’s selfish, cruel, cowardly, and rude.
Try: A character who’s selfish but occasionally shows surprising generosity.
“Don’t tell anyone I helped you. I have a reputation to maintain.”
9. Let Them Be Vulnerable
Vulnerability adds layers and makes flaws understandable.
Flaw: They’re cold and distant.
Vulnerability: They’ve been hurt before and are terrified of getting close to anyone again.
“It’s easier this way. If I don’t care about you, then you can’t leave me.”
10. Make Their Flaws Integral to the Plot
When flaws directly impact the story, they feel purposeful rather than tacked on.
Flaw: Their arrogance alienates the people they need.
Plot Impact: When their plan fails, they’re left scrambling because no one will help them.
Flawed but lovable characters are the backbone of compelling stories. They remind us that imperfection is human—and that growth is possible.