0 characters
Cleaned text Waiting

Paste text on the left. The cleaned version shows up here as you type.

0 removed 0 converted 0 invisible 0 kept 0 characters out

Runs entirely in your browser. Your text is never uploaded.

This tool strips Unicode characters out of text and leaves you with clean, plain ASCII. It removes the hidden characters you can’t see, like zero-width spaces and byte-order marks, swaps accented letters and smart quotes for their plain versions, and shows you every character it found so you know exactly what changed. Paste text or open a file, and the cleaned result updates as you type.

How to remove Unicode characters from text

  1. Paste your text into the left box, or use Open file or drag a file onto it. Plain text, CSV, Markdown, JSON, code and subtitle files all work.
  2. Pick what to keep. By default, the tool converts accents and smart punctuation to ASCII and removes everything else.
  3. Check the Changes tab to see removed characters in red and converted ones in amber, or the Characters tab for a full list with code points.
  4. Copy the result or download it as a file. The badge at the top tells you when the output is pure ASCII.

What each option does

OptionWhat it doesExample
Convert to closest ASCIIReplaces characters with a plain-text equivalent instead of deleting them: accents, ligatures, fullwidth letters, curly quotes, dashes, ellipses and symbols like ™ and ©.Café “déjà vu” — fine → Cafe "deja vu" - fine
Keep emojisLeaves emojis in place, including skin tones, flags and combined emojis like 👨‍👩‍👧.Done ✅ stays Done ✅
Keep other languagesKeeps letters and numbers from non-Latin scripts such as Chinese, Greek, Cyrillic and Arabic, so you can strip symbols and hidden characters without losing words.Привет ★ → Привет
Removed charactersDeletes removed characters, or puts a space or ? in their place so you can see where something was.A★B → AB, A B or A?B

Some characters are always handled the same way. Invisible characters (zero-width spaces, joiners, direction marks, soft hyphens and the BOM) are always removed. Unusual spaces, like non-breaking and thin spaces, always become a normal space, so words never run together.

When you’d need to remove Unicode characters

  • Code and config files. A zero-width space or non-breaking space pasted into code causes errors that are almost impossible to spot by eye.
  • CSV and database imports. Systems that expect ASCII or Latin-1 can reject rows or show ? and garbled characters.
  • Text from Word, Google Docs, websites or AI chat tools. Copied text often carries smart quotes, em dashes, non-breaking spaces and narrow spaces that look normal but behave differently.
  • File names, URLs and slugs. Accented letters and symbols can break links, scripts and older systems.
  • SMS and legacy systems. A single non-GSM character can split a text message or get dropped by older software.

Fixing garbled text like é and ’

If your text shows sequences like é, ’ or Â, it was saved as UTF-8 and then read as Windows-1252. That’s called mojibake. The tool detects it and shows a Fix encoding button that restores the original characters (é, ’) before you clean anything. Fixing first matters, because stripping garbled text just leaves you with the wrong letters.

Is my text private?

Yes. The cleaning runs in your browser with JavaScript. Your text and files are never uploaded or stored anywhere. Only your option choices are remembered in your browser for next time.

Frequently asked questions

What counts as a Unicode character here?

Technically all text is Unicode. This tool treats the 128 basic ASCII characters (English letters, numbers, standard punctuation, spaces, tabs and line breaks) as safe, and everything else as something to convert, keep or remove.

Will it remove line breaks or tabs?

No. Tabs and line breaks are ASCII, so they stay. Unicode line separators (U+2028 and U+2029) are turned into normal line breaks.

How do I find hidden characters in my text?

Paste the text and open the Characters tab. Invisible characters are listed by name, like ZERO WIDTH SPACE or NO-BREAK SPACE, with their code point and how many times they appear. The Changes tab shows a small red label exactly where each one was.

What happens to Chinese, Japanese or Arabic text?

Those letters don’t have ASCII equivalents, so they’re removed by default. Turn on Keep other languages to keep them and only strip symbols, emojis and hidden characters.

Why is ß converted to ss and æ to ae?

Some letters don’t break down into a base letter plus an accent, so the tool uses their standard ASCII spelling instead: ß becomes ss, æ becomes ae, ø becomes o and þ becomes th.

Is there a size limit?

Files up to 20 MB work. Very large files take a second or two longer, and the Changes view only previews the first part, but the copy and download always include the full result.

Our Full Dev Tool Library

Flipper File