Options
UTF-8 text
Paste text or drop a file
ASCII

Paste any text on the left and get plain ASCII on the right as you type. By default, accented letters become their closest plain letters (José Muñoz becomes Jose Munoz), curly quotes and dashes become straight quotes and hyphens, and invisible characters like non-breaking and zero-width spaces are cleaned up. Greek and Cyrillic are romanized. You can instead escape every non-ASCII character as an HTML entity, a JavaScript, Python, or CSS escape, or URL encoding, or simply remove or replace it. The Characters tab lists every non-ASCII character in your text with its code point and UTF-8 bytes, which makes it easy to track down the one invisible character breaking your code or CSV. It runs entirely in your browser.

How to convert UTF-8 text to ASCII

  1. Paste your text, or click Open file to load a text, CSV, JSON, HTML, or code file. UTF-8, UTF-16, and Windows-1252 files are detected automatically.
  2. Choose what happens to non-ASCII characters: Transliterate, Escape, Remove, or Replace with ?.
  3. Check the status line. 100% ASCII means every character in the output is in the 128-character ASCII set.
  4. Open the Characters tab to see exactly what was converted. Click a row to find that character in your text.
  5. Click Copy, or Download to save a text file with -ascii added to its name.

How characters are transliterated

InputOutputType
café naïve façade Ångströmcafe naive facade AngstromAccented letters
Straße æ ø ł ð þStrasse ae o l d thSpecial Latin letters
MüllerMuller, or Mueller with German styleUmlauts
“Hi” it’s"Hi" it'sSmart quotes
– — … •- - ... *Dashes and punctuation
© ® ™ € £ ½ °(c) (R) (TM) EUR GBP 1/2 degSymbols
≥ ≠ → ×>= != -> xMath and arrows
Москва, ΑθήναMoskva, AthinaCyrillic and Greek
fi, FULLfi, FULLLigatures and fullwidth letters
No-break space, thin spaceRegular spaceUnusual spaces
Zero-width space, BOM, soft hyphenRemovedInvisible characters
Emoji, Chinese, Japanese, Korean, Arabic?, removed, or escaped (your choice)No ASCII equivalent

Escape formats

Formaté😀 (emoji)Use in
HTML decimalé😀HTML, XML, email templates
HTML namedé😀HTML, falls back to decimal when no name exists
HTML / XML hexé😀HTML, XML, SVG
JavaScript / JSON / Java\u00e9\ud83d\ude00JS, JSON, Java, C#, with surrogate pairs above U+FFFF
JavaScript ES6\u{e9}\u{1f600}Modern JavaScript strings
Python\xe9\U0001f600Python string literals
CSS\e9\1f600CSS content values and selectors
URL percent%C3%A9%F0%9F%98%80URLs and query strings

Fixing garbled text (mojibake)

Text like café or We’re appears when UTF-8 text is read as Windows-1252 or Latin-1, for example when a CSV from one system is opened in Excel or a database uses the wrong character set. With Fix garbled text first turned on, the converter detects these patterns and repairs them to the intended characters, here café and We’re, before converting. It only acts when the text contains unmistakable garbling, so normal accented text is never changed.

Why convert to ASCII?

ASCII is the 128-character set of English letters, digits, punctuation, and control codes that every system understands. Converting to ASCII helps when you're making URL slugs and file names, importing names into older databases, mainframes, or bank and payroll systems, sending SMS messages (one non-GSM character can cut the message length from 160 to 70 characters), cleaning up text pasted from Word or Google Docs before it goes into code, and tracking down invisible characters that break CSV imports, JSON parsing, or source code.

Frequently asked questions

What's the difference between UTF-8 and ASCII?

ASCII defines 128 characters, numbered 0 to 127. UTF-8 is an encoding for all of Unicode, more than a million possible characters, and it stores the first 128 exactly like ASCII, one byte each. Every other character takes 2 to 4 bytes. So any ASCII file is already valid UTF-8, but UTF-8 text with accents, symbols, or emoji is not ASCII.

How do I remove accents from text?

Leave the mode on Transliterate. Accented letters are converted to their base letter, so é becomes e and ñ becomes n, while letters without a simple base, like ß and æ, become ss and ae. Turn on German style if you want ä, ö, and ü written as ae, oe, and ue.

How do I find hidden characters in my text?

Paste the text and open the Characters tab. Invisible characters such as no-break spaces (NBSP), zero-width spaces (ZWSP), byte order marks (BOM), and direction marks are shown as labeled tags with their code point and UTF-8 bytes. Click one to select it in your text.

What happens to emoji and Chinese characters?

They have no ASCII equivalent. In Transliterate mode, choose whether to replace them with ?, remove them, or escape them as \u codes. In Escape mode, every non-ASCII character, including emoji, is written as an escape so nothing is lost.

Why does my text show é instead of é?

The text was saved as UTF-8 but opened as Windows-1252 or Latin-1, so each 2-byte UTF-8 character appears as two separate characters. Paste it here with Fix garbled text first turned on to repair it. To prevent it, open the file with UTF-8 encoding, or in Excel use Data > From Text/CSV and choose 65001: Unicode (UTF-8).

Is my text uploaded?

No. The conversion runs in your browser, and your text never leaves your device.

Our Full Dev Tool Library

Flipper File