# How to stop ChatGPT using em dashes · ScriptGrain

> Practical fixes for ChatGPT's em dashes: the custom-instruction wording to copy, why a ban only partly works, a quick post-edit, and how to measure your own dash rate so you know what normal looks like for you.

Canonical: https://scriptgrain.com/blog/how-to-stop-chatgpt-using-em-dashes

# How to stop ChatGPT using em dashes

*By Jack Stovell · 2026-09-29 · Guides*

The fix for ChatGPT's em dashes has two parts, done together: ban them in custom instructions, and name what should replace them. Then you check the output, because a ban only tells the model what to avoid, not what you actually want. An instruction is a request, not a filter.

## The short answer

Three steps, in order. First, add a custom instruction that bans em dashes and en dashes by name and tells ChatGPT what to use instead: commas, colons, semicolons, full stops, brackets. Second, put it in the right place (Settings, then Custom instructions, then the "How would you like ChatGPT to respond?" box), because custom instructions apply to every new chat, and a rule typed into one conversation only lives in that conversation. Third, read the draft back and fix whatever slipped through by hand. We wrote up the reasons ChatGPT reaches for the dash in the first place over on [why does ChatGPT use em dashes](https://scriptgrain.com/blog/why-does-chatgpt-use-em-dashes); this page is just the fix.

## The custom instruction to use

Paste this into the custom instructions box, word for word:

> Never use em dashes or en dashes. Use commas, colons, semicolons, full stops or brackets.

That's the free prompt builder's own hard rule on dashes, and it is specific: it names the ban and the replacements. It goes under Settings, then Custom instructions, then into "How would you like ChatGPT to respond?". It's free on every ChatGPT plan, so there's no reason not to have it sitting there permanently.

Here's the thing people miss: name the replacements as well as the ban. A ban only says what to avoid. The list says where each sentence can go instead, which is the part you actually care about. The ban stops the dash; the replacement list says what goes in its place.

## Why a ban only partly works

Except it doesn't fully work, and you should know that going in.

In a study we ran (SGR-002), GPT-5 was given a one-page system prompt that included the dash ban, and every em dash vanished from its drafts. Bare GPT-5 averaged 17.5 em dashes per draft; the prompted version had none. That was two briefs and one run each, so treat it as a good sign rather than a guarantee.

What the ban didn't do was carry the writer's actual voice. The same prompted drafts came out at a judged formality of 7.2 against a target of 3.7, and used noticeably fewer contractions than either the bare model or a properly measured profile. It obeyed the rules that are easy to count (no dashes, more short sentences, more variation) and drifted on register. Removing a mark doesn't put your own punctuation back in its place. You've deleted a habit, not installed one.

To be fair, ScriptGrain's own generator runs the same logic and takes it one step further: the generation prompt says, in effect, never use em dashes, not a single one, and then a stripping function in code replaces any that survive with a comma anyway. That's a ban in the prompt and a backstop in the code, because we don't trust the prompt alone to hold. If we didn't trust it for our own tool, you shouldn't trust it for a single instructions box either. Full details of that study are in [ChatGPT vs a measured voice](https://scriptgrain.com/research/chatgpt-vs-a-measured-voice).

## Post-edit: find them and fix the sentence

So, after the custom instruction, there's still a pass to do by hand.

Search the draft for the em dash character and the en dash character. When you find one, don't just delete it; decide what the sentence actually wants. There are four options, and they're not interchangeable.

1. A comma, when the clause after the dash is a soft aside rather than a new thought. "The report landed late, which nobody mentioned in the meeting."
2. A colon, when what follows is the payoff the sentence has been building to. "There was one reason for the delay: nobody had signed off the budget."
3. A full stop, when the dash was really joining two separate sentences out of habit. "The report landed late. Nobody mentioned it in the meeting."
4. Brackets, when the aside is genuinely a side note the sentence could survive without (like this one).

Four options, one decision each time: what was the dash actually doing? Once you know that, the fix is quick. Skip this step and you'll have a technically dash-free draft that still reads like it was patched rather than written.

## Measure your own dash rate

Here's a question worth asking before you go to war on dashes: is your own writing actually dash-heavy, or are you fixing something that isn't broken?

Dash frequency is measured in dashes per 1,000 words, and it's one of the profile attributes ScriptGrain tracks. Two free tools count it slightly differently, and it's worth knowing which. The [free style analysis](https://scriptgrain.com/tools/writing-style-analysis) counts em dashes, double hyphens, and spaced hyphens per 1,000 words, all bundled into one "Dashes" figure. The [cliché checker](https://scriptgrain.com/tools/ai-cliche-checker) counts em and en dashes separately, as their own "Em dashes" meter, kept outside its main tell density score. The checker keeps it outside the density because human prose trips it too often for a count to mean much on its own. So the dash isn't a crime scene on its own.

That's the point worth sitting with: some human writers use a lot of dashes and it's their voice, not a tell. If your own writing sample runs high on dashes and you like it that way, banning them from ChatGPT's output while ignoring your own copy is just inconsistency dressed up as a rule. The [dash frequency attribute](https://scriptgrain.com/attributes/dash-frequency) page covers how it is counted, and why it never moves a voice-match score.

## When the dash is the smaller problem

At the end of the day, the dash is the easy fix, which is exactly why people fixate on it.

It's visible. It's countable. You can ban it in one sentence and watch it disappear. But SGR-002 already showed you what happens when you win that fight and lose the bigger one: zero em dashes, formality still nearly double the target, contractions still thin on the ground. A ban fixes one mark. It does nothing for sentence rhythm, for whether the piece sounds like it hedges or states things plainly, for whether it opens with a hook or a throat-clear. Those are voice properties, and voice doesn't move because you told a model to avoid one piece of punctuation.

A measured voice fixes the rest, because it's built from what your own writing actually does (contraction rate, sentence length variance, how often you open with "so") rather than a list of things to avoid. The dash ban is a good first move. It's just not the whole job, and treating it like the whole job is how you end up with clean, dash-free prose that still doesn't sound like you.

## Questions

### Does telling ChatGPT not to use em dashes actually work?

Mostly, yes, when the instruction is specific and sits in custom instructions rather than a one-off chat message. In SGR-002, a one-page prompt with that exact rule removed every em dash from GPT-5's drafts (two briefs, one run each). What it didn't fix was register: formality and contraction use still drifted from the target. So the ban works on the mark itself; it doesn't automatically fix how the rest of the sentence sounds.

### Why does ChatGPT keep using em dashes after I asked it not to?

Two likely causes. The rule was typed into one chat rather than saved in Settings, then Custom instructions, so new chats never saw it; or it banned the dash without naming a replacement. Name commas, colons, semicolons, full stops or brackets. And an instruction is a request the model can miss, which is why the read-back is the last step.

### Should I just replace em dashes with hyphens?

No. A spaced hyphen doing a dash's job is still a dash habit (the free style analysis counts spaced and double hyphens as dashes), and it can read as a typo. Pick based on what the sentence needs: a comma for a soft aside, a colon before a payoff, a full stop to split two ideas, or brackets for a genuine side note. The fix is a punctuation decision, not a find-and-replace.

### Are em dashes a sign of AI writing?

On their own, no, they're a weak signal at best. Plenty of human writers use them as a genuine stylistic habit, which is why our cliché checker reports them as a separate meter rather than counting them as a tell. What actually separates AI drafts is a cluster of things together: uniform sentence length, generic transitions, hedging patterns, not the dash in isolation.

### Can I stop em dashes in Claude or Gemini too?

Yes. The same wording can go into Claude and Gemini, since it's a plain-language rule rather than a ChatGPT setting: a Claude Project's instructions or a Style, a Gemini Gem's instructions or Saved info. The free prompt builder's target switch writes its whole prompt, dash rule included, for ChatGPT, Claude or Gemini.

[More from the ScriptGrain Journal](https://scriptgrain.com/blog)
