Poorly written stuttering is a big pet peeve of mine. I am not kidding, if I see "s-s-s-stuttered" or a sentence like "h-he t-t-tried t-to g-get the w-words out" I am setting that book down and not picking it back up. I don't care how good it is. After that, I'm out.
That being said, I've noticed lots of writers struggle with writing stuttering. I came across the issue of how to write it correctly when drafting Definitions of Life, in which one of my narrators has a nervous stutter. So let's talk about what I learned in a nice list, because everyone likes lists.
1. People don't s-s-stutter, they st-st-stutter
Stutters take place on the first sound not the first letter. In the example I used above, which is wrong for a number of reasons, it should be tr-tried not t-t-tried. Repeating the first letter sounds more like a broken computer program than a stutter. Say it aloud and see if it sounds off. It will.
2. Don't do it on every word
Th-this i-is v-very a-annoying (and also hard to read). It doesn't take much for readers to know a character is stuttering. Also, this is unrealistic. People who stutter usually don't trip over every word. They usually get stuck at the beginning of phrases.
3. "he stuttered."
Please, for the sake of all your readers, never write dialogue containing stuttering and use the dialogue tag "he stuttered" with it. We know! You showed us! Likewise, don't put a perfectly eloquent sentence and add "he stuttered" to the end. That's going to make the reader go back and read it again. It's telling. Don't tell. Trust your reader.
4. Choose the sounds
Most people don't get stuck on every sound. Some are more common than others (s and hard ts are common). Choose a handful, maybe 5 or 6, for your character to get stuck on. If you really feel like another one is necessary, squash the feeling and stick to the ones you chose. Your readers will thank you.
5. Use words, phrases, and sounds
There's a difference between stuttering and stammering. Nervous stuttering in particular usually involves stammering as well. This is repeating entire words, not sounds. So something like, like this would be stammering, instead, instead of stuttering. Mix them up and don't overuse this either. Stick to one or two in a sentence, keeping in mind where pauses would be. Basically, anywhere a comma would sound natural or at the beginning of a new thought.
6. Try letting your character get a "running start"
Sometimes, people who stutter can tell when it's going to happen and backtrack to "run" into the tricky phrase. So doing something like... doing something like this can help. (In that sentence, the "th" in "this" would be the part the person would get stuck on.)
7. Use hyphens, ellipses, and commas
Hyphens are great for the beginning of a word. Ellipses can be great when showing a character taking more time. Th-th...this can be a good way to show the character sliding into the word. Or you can show the character... you can show the character getting a running start. You can also show a, a repeated word with, with a comma. As a general rule, repeated phrases get ellipses, words get commas, and sounds get hyphens. Please never hyphenate an entire word (like with-with).
8. Do not ever (ever!) put a stutter in a thought
People's thoughts don't stutter. If I see "Th-that's a good idea," he thought to himself. I'm out. So out. Same with narration. If you're writing in first person and the character who stutters is narrating, nothing that's outside quotation marks should be stuttered.
9. You don't always have to write it out
You can say "he stumbled over the first few words before he finally said..." or "He struggled to get out the words... (insert articulate version of the sentence here)." You can play a lot with this in first person, because the character stuttering can say what they're thinking. So something like "I wanted to tell her everything was fine, but I could tell I'd get stuck." or "It took me three tries to ask if everything was okay."
10. Make use of non-verbals
As I've said before, sometimes people who stutter can tell when it's going to happen. Sometimes they'll choose not to talk instead. So in the example in #9 "I wanted to tell her everything was fine, but I could tell I'd get stuck" maybe he ends up giving her a thumbs up instead. Or sticking to one word answers.
11. Pick a different word
Related to the last one, the character can choose a new word if the one they're trying to say isn't working. "It's fine, we t-t-t... we discussed it." The word the character got stuck on is obviously "talked" and it wasn't going to happen, so they selected "discussed" instead. But don't go crazy with this and pick words no one uses.
12. Consider the emotion
Intense emotions, especially anger, can cancel out a stutter. The more explosive the reaction, the less likely pauses in speech are. Use this to your advantage.
13. Dialogue is crafted, not heard
Dialogue is not just heard, it's seen. You have to consider how it looks on the page. You might have to format things differently than you initially pictured. Go for what's easy on the eyes.
14. Remember, less is more
If you establish early on that a character has a stutter, you don't need to bring it up every five seconds. Or even every time one of the sounds you picked comes up. Remember, beginning of phrases and even then, use it sparsely.
15. Read ALL stuttering aloud
Really, you should be doing this with all your dialogue, but especially stuttering. You'll be able to hear if it's too much or not enough. You have to place it so the sentence is still able to be interpreted by the reader. Reading it aloud will tell you where that is.
Let me end this with a few examples from Definitions of Life.
“I didn’t say that. It’s mine and…” I could tell I was about to get stuck, so I stopped and took a few deep breaths.
James started three sentences before he got one to stick.
“I di…di… I wasn’t trying to yell.”
I managed to force out “I’m fine” after an embarrassing number of attempts that didn’t help my case.
“Evie, I don’t… I need… could you…” I tried to say I didn’t want to talk about it, that I needed to not think about everything, and could she please be quiet for a couple minutes? I couldn’t get past the second word on any of them and grew increasingly frustrated with each attempt until I snapped. “Just shut up!”
“He didn’t… Now he won't… he’s still…” he trailed into a frustrated groan.
“Would… would you come with us?”