Accent Remover – Convert Accented Text to Plain ASCII
The Accent Remover strips diacritical marks from text and returns the plain ASCII equivalent, so Crème brûlée à la française becomes Creme brulee a la francaise and Łódź becomes Lodz. It works as a diacritic remover, a text transliterator and a URL slug generator in one page, and every conversion happens locally in your browser.
Why accented characters cause problems
Accents are correct in prose but hostile to machines. URL slugs get percent-encoded into unreadable strings, filenames break on older file systems, CSV imports into legacy databases fail on non-ASCII bytes, usernames and email locals reject them outright, and a search for Muller silently misses every row that stores Müller. Removing accents produces a canonical, ASCII-safe form you can index, compare, sort and transmit with confidence.
How Unicode normalization does the work
Unicode can express an accented letter in two ways: as one precomposed code point (é = U+00E9) or as a base letter followed by a combining mark (e + U+0301). NFD normalization converts every precomposed letter into the second form. Once the accent lives in its own code point, it can simply be deleted:
text.normalize("NFD")
.replace(/[\p{Mn}\p{Me}]/gu, "")
.normalize("NFC")That single chain handles the Latin-1 Supplement, Latin Extended-A and Latin Extended-B blocks — French, Spanish, Portuguese, Italian, Czech, Polish vowels, Vietnamese stacked marks and more.
The letters NFD cannot fix
Some letters carry their diacritic inside the glyph, or are ligatures, so Unicode gives them no canonical decomposition. They survive NFD untouched and need an explicit transliteration map:
| Character | Name | ASCII output |
|---|---|---|
ø / Ø | O with stroke | o / O |
ł / Ł | L with stroke | l / L |
đ / Đ | D with stroke | d / D |
æ / œ | AE and OE ligatures | ae / oe |
ß | Sharp s | ss |
þ / ð | Thorn and eth | th / d |
Modes you can run
Remove Accents keeps punctuation, digits and casing intact and only drops the marks. Slugify continues further: it lowercases the result, collapses every non-alphanumeric run into your chosen separator and trims the ends, turning Cómo hacer Paella Valenciana — Guía 2026 into como-hacer-paella-valenciana-guia-2026. Accent Detector changes nothing and instead reports every non-ASCII character with its position, code point, Unicode name and planned replacement. Compare shows the original and cleaned text side by side with each substitution highlighted, and Custom Map lets you override defaults with from=to lines so German ö=oe or Danish å=aa conventions win.
Batch and line-by-line processing
Turn on line-by-line mode and each line is treated as an independent record, producing a table of original versus cleaned values that exports straight to CSV. This is the fastest way to normalize a column of names, cities or product titles before importing them into a system that only accepts ASCII or ISO-8859-1.
año and ano are different words, and in French sur and sûr mean different things. Use the de-accented form for slugs, keys, filenames and search indexes, and keep the accented original in the text your readers see.Reading the statistics panel
Alongside the cleaned text the tool reports how many characters were replaced, which distinct accented characters appeared, whether the output is pure ASCII, the character counts before and after, and the UTF-8 byte size of each. The counts can legitimately differ: an accented letter costs two bytes in UTF-8 but one after conversion, while ß becomes two characters. A frequency chart ranks the most common accented characters, which is a quick way to see whether an unexpected script has crept into your data.