Remove Accents & Diacritics
Remove accents and diacritics from text online. Convert café to cafe, naïve to naive, instantly. Free, no signup required.
Three steps to get started
Paste your text
Enter any text containing accented letters or diacritical marks.
Accents are stripped
The tool instantly normalizes text, removing all combining diacritic characters.
Copy clean text
Click Copy and use the accent-free text wherever you need it.
Why remove accents and diacritics?
Removing diacritics means reducing accented Latin letters to their unaccented base forms - turning café into cafe andŠkoda into Skoda. The technical name for the operation isdiacritic stripping or ASCII folding, and it is a normalization step, not a translation: the letters keep their identity and case, they just lose their marks.
The mechanism is Unicode normalization. Most accented characters can be written two ways: as a single precomposed code point (é = U+00E9) or as a base letter plus a combining mark (e + U+0301). ApplyingNFD (Normalization Form Canonical Decomposition) rewrites every precomposed character into the second form, after which every combining mark lives in theU+0300–U+036F range and can be deleted with a single regex. In JavaScript the whole operation is str.normalize('NFD').replace(/[̀-ͯ]/g, '')- the same two lines behind Elasticsearch's asciifolding filter and Python's unicodedata.normalize idiom.
Where this matters in practice:
- URL slugs:
Über den Wolken→uber-den-wolken, avoiding percent-encoded paths like%C3%9Cber - Filenames:
résumé.pdf→resume.pdf, safe across S3 keys, ZIP archives, and older SMB shares - Search and deduplication: so a query for
Mullermatches a record stored asMüller - Legacy interchange: EDI feeds, fixed-width exports, and airline PNR systems that are ASCII-only
- Sorting: giving a naive byte-order sort a chance of matching human alphabetical expectations
What NFD stripping cannot do
Some letters are not a base plus a mark - the mark is part of the glyph, so NFD has nothing to decompose. Danish and Norwegian ø, Polishł, Icelandic ð and þ, and Germanß all survive stripping untouched, because U+00F8 has no canonical decomposition into o plus a stroke. If your target system is strictly ASCII you need an explicit transliteration table on top (ø→o, ł→l, ß→ss, æ→ae), which is what libraries like slugify and unidecode add.
There is a linguistic caveat too. In Spanish, ñ is a distinct letter of the alphabet, not an accented n - año (year) and ano (anus) are different words. German umlauts conventionally expand rather than drop (Müller → Mueller) in official transliteration. Strip accents for machine keys, slugs, and search indexes; keep the original string as the display value so you never show a person their name spelled wrong.
This tool covers the Latin scripts of French, Spanish, German, Portuguese, Italian, Polish, Czech, Turkish, Vietnamese, and their neighbours. Non-Latin scripts - Cyrillic, Greek, Arabic, Hebrew, Chinese, Japanese, Korean - pass through unchanged, since their characters are not Latin bases carrying marks. Everything is computed in your browser; nothing is uploaded.