What you can do at the source
Custom instructions help. Open ChatGPT settings, find Personalization, and add "do not use em dashes" to the custom instructions box. It applies to new chats. One study measured GPT-4.1 producing about 10.6 em dashes per 1,000 words unprompted, and about 3.9 when told to stop. Lower, not zero.
The toggle is newer. GPT-5.1 arrived on 12 November 2025, and two days later Sam Altman announced a custom-instruction toggle for em dashes on the free and Plus tiers. It is a real fix and worth switching on. Dashes still appear in longer answers, and the toggle does nothing about the other tells.
The dash is a training artifact rather than a style choice. Model corpora lean on digitised print books from around 1900, and that prose uses far more dashes than anyone writes today. Markdown-heavy training text reinforces them as structural marks.
Which is why an instruction fades. The behaviour is baked into what the model learned, so a prompt nudges the odds instead of setting a rule.
The part the instruction never reaches
Invisible characters ignore your custom instructions entirely. Zero-width spaces, non-breaking spaces and the narrow no-break space come through regardless, and you cannot see them to check. Curly quotes and the ellipsis glyph come through too. A dash-only fix leaves all of that in place.
There is a second reason to clean at the paste. Word and Google Docs re-curl straight quotes through autocorrect, so a document can pick the tells back up after the text is already clean. Turn off smart quotes in their settings if you paste there often.
What I do instead
For a one-off, paste it into a page. Try it free in your browser and pick what each dash becomes: a hyphen, a comma, a space or nothing at all. It runs client-side, with no account.
I stopped doing that several times a day. Klipto's Anti-LLM transform converts em and en dashes to hyphens as part of ⌘V, together with the quotes, the ellipsis glyph and the invisible characters, in whatever Mac app I am pasting into. One tap on a chip in the paste preview, or automatic on every paste. It runs on-device, so nothing goes to a server.