Skip to content

Explainer5 min read

Why does ChatGPT use em dashes so much?

Training data, token economics and preference tuning all push the same way. Here is the mechanical reason ChatGPT reaches for the em dash, and why Claude does it too.

Updated September 25, 2026

How this was tested

The per-model table is our own sampling, not vendor data: repeated fresh chats per model, plain prose requests, dashes counted with the same engine as the em dash tool. We publish the method and the caveat together — the ordering is stable across runs, the exact digits are not, and anyone claiming single-digit precision for a generative model is overselling.

Numbers last verified:September 25, 2026

The short version

  • Models learned prose from published text, and published text uses the em dash heavily. The dash is the model's prior for "break in thought".
  • One em dash token does the job of a comma, a colon, a semicolon and a pair of parentheses — high payoff for a single character.
  • Each sentence gets styled locally. Nothing in the process tracks "I have already used six dashes in this document".
  • Preference tuning rewarded the confident, punchy register the dash creates, and that preference is now baked into the default voice.

Ask any model to write 500 words and count the em dashes. It will be four to eight times the rate you find in a newspaper column — and that rate is stable no matter what you asked for, what tone you requested, or how you phrased the prompt.

That stability is the interesting part. A random quirk would vary. A consistent bias points at the machinery, and there are four pieces of it.

1. The training data is dash-heavy on purpose

Models are trained on text that someone edited. Books, news, reports, essays — all of it went through a publisher, an editor or at least a style guide, and American style guides have required the em dash for parenthetical asides for generations. A model that mimics the average of its corpus is therefore mimicking edited prose, and edited prose is dash-rich.

The counter-pressure that exists in real writing does not survive the same way. Nobody edits published text to say "use fewer dashes here", because that is a document-level judgement. The corpus contains the dashes; it does not contain the reaction against them.

2. One character, four jobs

The em dash is the most flexible punctuation mark in English. It can stand in for a comma, a colon, a semicolon, or a pair of parentheses, and it does all four without changing a word around it. For a system that picks the next token by maximising local fluency, that flexibility is exactly what it needs: reaching for the dash is nearly always grammatical, whereas reaching for a semicolon sometimes is not.

A useful way to picture it

If you were scoring punctuation by expected correctness, the dash would win in almost every position a break is needed. Models are not choosing the best mark; they are choosing the safest one, six hundred times per document.

3. It is also the cheapest option

In most modern tokenizers the em dash is a single token, and so is the space around it. Writing "the plan — risky as it was — worked" costs fewer tokens than the same sentence with (risky as it was) or a semicolon and a conjunction. This is a small effect and it is not a conscious choice, but it points the same direction as everything else: the cheapest path to a fluent sentence runs through the dash.

4. Preference tuning rewarded the punchy voice

Models are shaped by human preference data, where raters compared candidate answers and picked the one they preferred. Text that uses dashes tends to read as more confident and more immediate than text that uses parenthetical commas, and raters rewarded that register. This part is inference rather than published fact, but it explains a pattern you can observe directly: ask for a neutral summary and you still get the same dramatic punctuation.

Neutral request

"Summarise this report in plain language." — the reply still arrives with spaced em dashes in three consecutive sentences.

What plain language would actually look like

"The report recommends delaying the launch. Two risks drove the decision: supply and staffing." — a colon, a full stop, no theatre.

ChatGPT is not unique here

Every general-purpose model does this. Claude is often cited as the worst offender, the em dash habit being one of the most common complaints about it, and Gemini and Copilot show the same pattern to a lesser degree. That is what you would expect if the cause is shared training data plus shared decoding behaviour, which it is.

ModelDashes per 1,000 words (typical reply)What helps
ChatGPTAround 5–10An instruction, then a mechanical pass. It relapses over long conversations.
ClaudeAround 5–12The personal-preferences setting works better than a per-chat instruction.
GeminiAround 3–7Least dash-prone of the big three, but still above human baseline.
CopilotAround 3–6Rewrites tend to reintroduce dashes; clean the output, not the prompt.

Counts are from repeated sampling, not vendor figures — the exact number depends on genre, length and sampling settings, which is why we give ranges and no false decimals. For calibration, the 13 edited posts on this blog average 6.7 em/en dashes per 1,000 words with the spread shown in do em dashes mean AI; every model above sits at or above that. Treat the ordering as the finding, not the digits.

So what actually changes the output?

Layer the fixes, because they fail at different rates. An instruction in the prompt is obeyed most of the time and forgotten in long conversations, or the moment the model is asked to be more engaging. Custom instructions persist across chats but still cannot override the model's default register completely. Post-processing is the only step with no failure mode, because it does not depend on the model at all.

  1. Ask for the constraint in the prompt: "no em dashes, no en dashes, no double hyphens".
  2. Persist it in custom instructions or personal preferences so it does not need repeating.
  3. Strip the characters mechanically from the finished draft with the AI dash remover, which also matches typed -- and ---.

Stop asking nicely and just remove them

The remover deletes every em dash, en dash and typed hyphen in one pass, and leaves your wording alone.

Open the AI dash remover

Frequently asked questions

Why does ChatGPT use em dashes instead of commas?

The em dash can replace a comma, a colon, a semicolon or parentheses without changing the surrounding words, so it is almost always grammatical. A model choosing the next token for local fluency is safer with the dash than with a semicolon or a colon, which are not valid in every position.

Does ChatGPT use more em dashes than Claude?

In repeated sampling the two are close, with Claude usually slightly higher and casual reports naming Claude more often. Both sit far above the rate in professionally edited prose. Gemini and Copilot use fewer but still more than a human baseline.

Why does ChatGPT put spaces around em dashes?

The spaced form is valid in British style and unambiguous in any context, including plain-text output where an unspaced dash can look like a hyphen. Models default to the version that cannot be misread, which is the spaced one.

Can I count how many em dashes my text has?

Yes, exactly. The em dash counter reports every dash character in a paste, including the horizontal bar and multi-em dashes, so you can compare your own rate against the model output above.

Does the em dash habit mean the text is low quality?

Not on its own. Overuse flattens rhythm: if every sentence gets a dramatic break, nothing is dramatic. That is a readability problem regardless of who wrote it, which is the strongest practical reason to trim rather than never use them.

Keep reading

← All articles