AI Text FormatterOpen the tool
ChatGPT cleanup

Remove ChatGPT weird spacing

Paste text from ChatGPT, Claude or Gemini and get it back with normal spaces: the hidden narrow no-break spaces are replaced, doubled spaces collapsed and trailing spaces trimmed — so it wraps and justifies properly wherever you paste it.

Why does ChatGPT text have weird spaces, and how do I fix it?

ChatGPT text pastes with odd gaps because it contains characters that look like spaces but are not — most often the narrow no-break space (U+202F) the model puts between numbers and units — plus doubled and trailing spaces. Paste it into the editor above: every look-alike becomes a normal space, the doubles collapse, and the status line shows how many were fixed. Nothing leaves your browser.

Note: for best results, copy the text using the Copy button in your LLM.
0 characters · 0 words

How to use it

  1. Paste the text

    Copy from ChatGPT — the Copy button or a plain select-and-copy both work — and paste into the editor. The cleanup happens the moment you paste.

  2. Read what was fixed

    The status line under the toolbar reports how many hidden characters were replaced and how many spacing issues were collapsed.

  3. Adjust if you need to

    The preferences (sliders icon) let you turn "Fix spacing" off for aligned code, or add the other cleanups: em dashes, smart quotes and emojis.

  4. Copy the result

    Click Copy Result and paste into Word, Outlook, Gmail, Google Docs or anywhere else. The spacing now behaves exactly like text you typed yourself.

Frequently Asked Questions

Why does text copied from ChatGPT have strange spaces in it?

Recent ChatGPT models insert a narrow no-break space (Unicode U+202F) between numbers and the units or words that follow them — "3 PM", "5 km", "$40 million" — so a line never breaks between the two. It looks like a normal space in the chat window, but Word, Outlook and most editors treat it as a different character: they will not wrap or justify it like a real space, which produces stretched lines, odd gaps and breaks in the wrong place.

What does the "Fix spacing" option actually change?

Two things. Runs of two or more spaces between words collapse to a single space, and spaces at the end of a line are removed. Leading indentation is deliberately left alone, so nested bullet lists and indented code keep their structure. The space look-alike characters themselves (narrow no-break spaces, thin spaces and the rest) are always converted to normal spaces, whether the option is on or off.

Will this break my code or aligned tables?

Indentation at the start of a line is never changed, so Python blocks and nested lists survive. What does change is runs of spaces inside a line, which is where hand-aligned ASCII tables live. If you are pasting one of those, switch "Fix spacing" off in the preferences: the tool will still swap the look-alike characters for real spaces without touching the alignment.

How can I see these hidden spaces myself?

In Word, click the ¶ (Show/Hide) button: a normal space shows as a dot and a non-breaking space as a small raised circle. In VS Code, turn on "Render Whitespace" and U+202F and its relatives render as a distinct symbol. Or simply paste into this tool and read the "hidden characters removed" count — every look-alike it converts is tallied there.

Is this different from the invisible character remover?

Same engine, different focus. The invisible character remover targets zero-width spaces, joiners and byte-order marks — characters with no width at all. This page is tuned for the characters that do take up space but behave wrongly, plus the doubled and trailing spaces that come with them. Both pages strip both categories; pick whichever matches the symptom you are seeing.

Is my text uploaded anywhere?

No. The cleaning runs entirely in your browser with client-side JavaScript. Nothing is sent to a server, stored, or logged — close the tab and it is gone.

What ChatGPT actually puts between your words

You copy a perfectly good paragraph from ChatGPT, paste it into Word or Outlook, and something is off. One line is stretched wide with gaps between the words. A number and its unit refuse to separate even when the line is full. A sentence has two spaces after a full stop that you never typed. The text looked fine in the chat window, and it still looks fine in a plain text editor, which makes the problem hard to pin down. The cause is not formatting. It is characters: ChatGPT uses several Unicode characters that render as a space but are not the ordinary space character your keyboard produces.

The one you will meet most often is the narrow no-break space, code point U+202F. Newer ChatGPT models insert it between a number and whatever follows it — 3 PM, 5 km, $40 million, 10 % — because typographic convention says those two tokens should never be split across a line. That is correct typesetting, but it has side effects the moment the text leaves the chat window. A rich-text editor honours the no-break rule, so when the line is justified it cannot stretch that gap and stretches its neighbours instead. Search and find-and-replace treat it as a different character, so searching for 3 PM with a normal space finds nothing. Form fields, CMS editors and outreach tools pass it straight through to the published page, where it shows up as an unexplained gap or a line that breaks early.

It is not the only culprit. Copying from any web page brings along the HTML non-breaking space ( , U+00A0). Answers with maths or chemistry carry thin and hair spaces. Content that passed through a PDF carries en and em spaces from the original typesetting, and Chinese, Japanese or Korean text uses the full-width ideographic space. Each one looks like a space and behaves like something else.

Every space look-alike this tool normalizes

All of the following are converted to a single ordinary space (U+0020) on every paste. The conversion is lossless for prose — a narrow no-break space and a normal space read identically — it simply makes the text behave the way text you typed yourself behaves.

CharacterWhere it comes fromCode point
Narrow no-break spaceChatGPT, between a number and its unit ("3 PM", "5 km"); French punctuation spacingU+202F
Non-breaking spaceAny HTML copy ( ), Word, Google Docs, email signaturesU+00A0
Thin space / hair spaceTypographic output, maths and chemistry notation, some PDFsU+2009 / U+200A
En space / em spaceTypeset documents and PDF exportsU+2002 / U+2003
Figure, punctuation and other fixed-width spacesTypeset documents, tables converted from PDFU+2000 – U+2008
Medium mathematical spaceMaths-heavy answers, LaTeX and MathML exportsU+205F
Ideographic spaceChinese, Japanese and Korean contentU+3000
Ogham space markRare; included so nothing slips throughU+1680

The zero-width family — zero-width space (U+200B), zero-width non-joiner (U+200C), word joiner (U+2060), byte-order mark (U+FEFF) and the soft hyphen (U+00AD) — takes up no room at all, so it is deleted rather than converted. It is counted in the same “hidden characters removed” tally.

What “Fix spacing” adds on top

Swapping the look-alikes is always on. The Fix spacing option, which this page switches on for you, handles the two problems that are made of ordinary spaces:

What it never touches is leading indentation. The spaces at the start of a line are what mark a nested bullet or a Python block, so the collapse only applies to runs that sit between two non-space characters. Your lists stay nested and your code stays indented.

Why Word and Outlook show it worst

Plain text editors do not care about no-break semantics, so the text looks fine there. Word and Outlook do care: a no-break space is an instruction they obey. In justified text Word cannot widen that gap, so the rest of the line absorbs the slack and you see uneven spacing. Outlook compounds it with the grey background and line-height it inherits from the chat window’s styling, which is a separate problem covered in why ChatGPT text copies with weird backgrounds and spacing.

This is also why the usual fix fails. “Paste as plain text” (Ctrl+Shift+V or Cmd+Shift+V) strips formatting — fonts, colours, backgrounds. A narrow no-break space is not formatting; it is a character, and it survives the plain-text paste untouched. You have to replace the character itself, which is what this page does.

How to check your own text for hidden spaces

In Word, turn on the pilcrow (¶, Show/Hide formatting marks): normal spaces appear as a dot between words, non-breaking spaces as a small raised circle. Google Docs has no equivalent view, which is one reason these characters travel so far unnoticed. In VS Code, enable Render Whitespace and the look-alikes draw as a visibly different glyph. The quickest check of all is to paste the text here and read the count on the status line.

When to turn Fix spacing off

If the text contains something that relies on runs of spaces inside a line — a hand-aligned ASCII table, a fixed-width report, concrete poetry — open the preferences and switch Fix spacing off. The look-alike conversion still runs, so you get real spaces without losing the alignment. For actual source code, prefer pasting it into your editor directly; the one case where this page helps with code is a snippet that will not compile because a U+202F or zero-width space snuck into it, which the conversion fixes.

Related tools

Private and free

Everything on this page runs in your browser. The text you paste is processed locally and never sent to a server, stored or logged. There is no account, no limit on how much you can clean, and no watermark on the output.