UTF-8 to ASCII

Convert Unicode text to pure 7-bit ASCII.

0 chars
0 words
0 lines
0 chars
0 words
0 lines

UTF-8 to ASCII – Convert Unicode Text to Plain ASCII

Some systems still only accept 7-bit ASCII: old mainframes, payment and banking files, SMS gateways, barcode printers, legacy CSV importers, e-mail headers, and many hardware devices. This tool converts any UTF-8 text into pure ASCII, and lets you decide what happens to each character outside the 0–127 range.

Five ways to handle non-ASCII characters

  • Transliterate – replace characters with their closest ASCII look-alike: é → e, ß → ss, “smart quotes” → "straight quotes", — → -, … → ..., € → EUR, © → (c). Characters without an equivalent, such as emoji, are dropped.
  • Escape as \uXXXX – keep all information by writing each character as a Unicode escape: café → caf\u00E9. Perfect for JavaScript, JSON, and Java source files that must stay ASCII.
  • HTML entities – café → café, for HTML or XML documents that will be served with an ASCII charset.
  • Remove – delete every non-ASCII character outright.
  • Replace with ? – mimic what many legacy converters do, so you can see where characters will be lost.

Example

The sample text “Crème brûlée” costs €5 — naïve café becomes "Creme brulee" costs EUR5 - naive cafe with transliteration. In escape mode the same sentence starts with \u201CCr\u00E8me, which any JavaScript engine turns back into the original.

Why "UTF-8 to ASCII"?

UTF-8 is a superset of ASCII: the first 128 characters share the same single-byte codes, and everything else uses two to four bytes. Converting to ASCII therefore means dealing only with those multi-byte characters – plain English text passes through unchanged. After conversion, every character is guaranteed to be one byte with a value below 128, so the character count equals the byte count.

Common uses

Creating ASCII-only file names and URL slugs, cleaning product feeds for marketplaces that reject accents, preparing fixed-width files for banks (SEPA, ACH), sending SMS in the cheaper GSM-7 alphabet, and making log messages safe for terminals. To inspect which characters in a string are non-ASCII before converting, use Char to ASCII; to see their byte values, use the UTF-8 Converter.

Frequently Asked Questions

Transliteration only has an ASCII equivalent for letters with accents and common typographic symbols (quotes, dashes, €, ©, ™). Characters with no Latin equivalent, such as emoji, Chinese, or Arabic, are dropped. If you must keep them, use the \uXXXX or HTML entity mode, which encodes every character losslessly in pure ASCII.

Escape as \uXXXX. The output is valid in JavaScript, JSON, Java, and C# string literals and decodes back to the exact original text. Emoji are written as a surrogate pair, e.g. 😀 becomes \uD83D\uDE00, which is what these languages expect.

It is fine for URLs, file names, search keys, and systems that only accept ASCII, but it loses information – 'Müller' becomes 'Muller', not the German convention 'Mueller'. Keep the original UTF-8 text for display and store the ASCII version only where it is required.