The 5 Worst Character Writing Mistakes (And How to Avoid Them)

Creating a main character that readers love isn’t easy.
Sometimes, you set out to write a hero that’s brave, funny, and relatable – but somehow they come across as bland, annoying, or worse… completely hateable.
Yikes.
But don’t worry! This guide covers five of the most common mistakes writers make that lead to hateable main characters – and what you can do instead to create a character that your audience will root for and want to see succeed!
Let’s break it down.
Top 5 Character Writing Mistakes
Let’s get right into the fiction writing tips and tricks for storytellers!
Prefer to watch, rather than read? Check out my YouTube video on how to avoid creating hateable characters below!
Mistake #1: No Character Growth
A story is a journey – and your character needs to change along the way.
Why It’s a Problem
If your character starts and ends in the same place emotionally, it feels like the events of the story didn’t matter at all.
Readers want to see characters learn, struggle, and grow. It doesn’t have to be a massive transformation, but something about them should shift by the end.
Without that change, even the most explosive action scenes can feel… empty.
❌ Bad Example: Percy Jackson: Sea of Monsters (Movie Version)
Unlike the books, the movie version of Percy doesn’t really evolve.
He faces obstacles, sure, but his attitude and actions don’t reflect any real growth.
He’s the same brave-but-bland guy from start to finish. That makes the stakes feel low to the audience.
✅ Good Example: Harry Potter
Harry matures in every book.
He faces pain, grief, hard decisions, and growing responsibility.
He messes up (a lot), but he changes because of it. That’s what makes his journey so powerful!
Character Growth Tips:
- Show your character learning – even from failure.
- Mirror their emotional arc with the plot.
- Let them earn their ending by changing through struggle.
Even small internal shifts – like choosing trust over fear – can make a big impact.
Mistake #2: They’re Too Passive
Your main character shouldn’t just go along for the ride. They should drive the story.
Why It’s a Problem
Passive characters don’t make decisions.
They react instead of act, and this can make them feel like background extras in their own story. And if they don’t care enough to act, the audience won’t care either.
❌ Bad Example: Bella Swan (Twilight)
Bella mostly waits for things to happen.
She’s rescued, protected, and argued over, but rarely takes the lead. This lack of action can make it difficult for readers to connect with her emotionally.
✅ Good Example: Katniss Everdeen (The Hunger Games)
Katniss doesn’t sit still, ever.
She volunteers to save her sister. She chooses alliances. She bends the rules. She takes risks.
Her decisions change the entire story. Even her mistakes are hers.
Character Agency Tips:
Ask yourself:
- What does my character want?
- What will they sacrifice to get it?
Then, put choices in their hands – especially the messy, risky ones. Let them screw up. Let them fail. Just make sure they’re trying.
Action creates tension. And tension keeps people turning pages.
Mistake #3: Making Them Too Perfect
Perfect heroes don’t work. They’re boring.
Why It’s a Problem
If your character always makes the right choice, wins every battle, and has no flaws, there’s no tension. Real people are messy. Your character should be too.
Audiences want to see the struggle. Perfection skips over it.
❌ Bad Example: Rey (Star Wars Sequel Trilogy)
Rey is smart, kind, and powerful – but it all comes too fast.
She doesn’t train, doesn’t fail much, and seems to know how to do everything from the start.
✅ Good Example: Frodo Baggins (The Lord of the Rings)
Frodo is brave – but scared. Kind, but sometimes selfish.
He struggles with doubt and darkness. He doesn’t win easily. That’s what makes his story so touching.
Character Flaw Tips:
- Give your characters flaws and fears.
- Show their weaknesses and contradictions.
- Let them mess up, even at the worst times.
Here’s a cheat sheet:
- Strong but stubborn
- Kind but easily hurt
- Brave but impulsive
Mistake #4: All Flaws, No Redemption
Yes, character flaws are good – but you’ve got to show growth, too.
Why It’s a Problem
If a character is nothing but selfish, angry, or annoying – and they never try to be better – they stop being interesting and start being exhausting.
Audiences need a spark of humanity to care.
❌ Bad Example: Holden Caulfield (The Catcher in the Rye)
Some love him. Others can’t stand him. Holden is sarcastic, angry, and negative – but he doesn’t really change.
If he had one big breakthrough, just one moment of real growth, he’d be a lot easier to root for.
✅ Good Example: Tony Stark (Iron Man)
Tony starts off as a cocky, selfish jerk.
But after seeing how his weapons hurt people, he chooses to change. He messes up constantly, but he keeps fighting to be better. That struggle makes him lovable.
Character Growth Tips:
- Let your characters make bad choices – then regret them.
- Show them trying to fix things, even if they fail.
- Growth doesn’t have to be perfect. It just has to be honest.
Redemption arcs = emotional payoffs. Audiences will forgive almost anything if they see effort.
Mistake #5: They Monologue Their Feelings
Show, don’t tell. Yes, you’ve heard it before. That’s because it’s true.
Why It’s a Problem
Characters who explain their emotions in long speeches or on-the-nose lines suck the tension right out of a scene.
Real people don’t announce their every thought. Characters shouldn’t either.
❌ Bad Example: Anakin Skywalker (Attack of the Clones)
Anakin tells us everything: how he misses his mom, how he loves Padmé, how he hates sand…
He talks about his feelings instead of showing them, which flattens both the story and the character.
✅ Good Example: Will Hunting (Good Will Hunting)
Will hides his trauma behind jokes, anger, and silence.
You learn who he is by what he does and avoids. So when he finally breaks down, it matters. You’ve earned that moment as a viewer.
Show, Don’t Tell Tips:
- Use subtext. Say one thing, mean another.
- Let actions, body language, and silence show emotion.
- Avoid spelling everything out.
Think about:
- Sarcasm that hides pain
- Jokes that dodge real feelings
- Silence that screams louder than words
Let your audience fill in the blanks. That’s how you keep them hooked.
Make Us Care!
Characters don’t have to be perfect to be loveable. In fact, imperfection is the secret!
Just remember:
- Give them goals.
- Make them active.
- Let them struggle.
- Show us change.
- Keep the emotions real.
If your character fights to grow, makes tough choices, and faces their flaws, people will root for them – even if they’re messy. Maybe especially if they’re messy.
So go ahead – build your hero.
Let them fall. Let them learn. And make us feel something.
Don’t forget to download my free character development workbook to help you create the best, most complete character that you can!