Dialogue punctuation can seem counterintuitive or just plain confusing. Once you learn the rules and practice a bit, though, it can become reflexive. Here’s a summary of correct dialogue punctuation for the most common situations:
With a Dialogue Tag
What’s a dialogue tag? “Said” or another verb that’s a synonym for “said,” such as “asked” or “announced” or “ejaculated” (this one’s gone out of favor for some reason).
Use a comma between the dialogue and the tag. The comma goes inside the quotation marks. You do not capitalize the dialogue tag unless it’s at the beginning of the sentence (or begins with a name, of course).
“I’m happy to see you,” she said.
She said, “I’m happy to see you.”
“I’m happy to see you,” Sarah said.
Here’s a dialogue tag in between two sentences of dialogue:
“I’m happy to see you,” Sarah said. “Thank you for visiting.”
Here’s a dialogue tag in the middle of a sentence:
“I’m happy to see you,” Sarah said, “but I wish you warned me you were bringing Therese.”
If the dialogue ends with a question mark or exclamation point, you don’t need a comma in addition to that punctuation, but the dialogue tag is still part of the same sentence as the dialogue, so it remains lowercase:
“What’s wrong with Therese?” her visitor asked.
“It’s just that Therese is always telling me about great books I don’t have the time to read!” she wailed.
With an Action Beat
What’s an action beat? It’s a sentence describing something a character does (or something the POV character/focaliser thinks or senses). It’s not a dialogue tag, but like a dialogue tag, it can serve to mark the speaker, because the same person should be saying and doing or observing everything within the same paragraph. Start a new paragraph for a new speaker and/or actor.
(“Action beat” is a term I picked up from Renni Browne and Dave King’s Self-Editing for Fiction Writers; they, in turn, picked it up from acting and stage direction.)
An action beat is a separate sentence from the dialogue, so use a closing punctuation mark rather than a comma, and capitalize the first word of the action beat. The closing punctuation goes inside the quotation marks.
“I’m happy to see you.” Sarah clapped her hands in genuine delight.
“I’m happy to see you.” She hoped her visitor knew she wasn’t just saying it to be polite.
Action beats can also go before dialogue or in between it:
Sarah clapped. “I’m happy to see you!”
“I’m happy to see you.” Sarah frowned. “But I wish you warned me you were bringing Therese.”
With Em-Dashes:
If you use one em-dash to show the dialogue is interrupted, the dash goes inside the quotation marks. The narrative text that follows is usually a new sentence, but occasionally it may be a verbal tag applied to the uncompleted dialogue (in my second example):
“I’m happy–” She broke off as her phone rang.
“I’m happy–” she began.
If you use two em-dashes to put in parenthetical information or simultaneous action, with the dialogue resuming after the interruption, the dashes go outside the quotation marks and the narrative text is not capitalized or punctuated as a new sentence.
“I’m happy”–she raised her voice to continue speaking over the ringtone of her cell phone–”to see you today!”
With an Ellipsis
The ellipsis usually shows a sentence trailing off uncompleted. At the end of a line of dialogue, an ellipsis works the same way as a period or em-dash.
“I’m happy…” She blotted the tears beading on her eyelashes.
“I’m happy…” she said.
The dialogue tag may read better at the beginning of the sentence to let the ellipsis trail off into the true silence of blank space on the page:
She said, “I’m happy…”
Ellipses can also go in the middle dialogue if a character hesitates or if they let one sentence trail off and say something else instead. Note the capitalization in each case:
“I’m … happy to see you.”
“I’m happy … Why didn’t you warn me you were bringing Therese along?”
(The spacing between ellipses depends on “house style” and just needs to be handled consistently within a manuscript.)
Any other dialogue situations you’d like an explanation of how to punctuate? Let me know in the comments!