When you need to strip accents
Accent removal is essential when ASCII-only constraints apply: generating URL slugs, creating filename-safe strings, building search indexes that normalise all text, importing data into systems that reject non-ASCII, and generating database identifiers or code variable names from human-readable labels.
Examples
- French:
résumé→resume - Spanish:
jalapeño→jalapeno - German:
über→uber - Portuguese:
São Paulo→Sao Paulo - Polish:
Łódź→Lodz(Ł has no NFD decomposition but ó→o)
Frequently asked questions
How does accent removal work?
Unicode NFD normalisation decomposes accented characters into base letter + combining diacritic. A regex then strips all combining marks (Unicode category Mn), leaving only the base letters.
Why is ø not converted to o?
"ø" is a standalone Unicode character with no NFD decomposition — it cannot be split into o + combining mark. "ö" is decomposable (o + combining diaeresis) so it converts correctly.
Can I use this for URL slugs?
Yes — remove accents first, then use the Slug Generator. "Café au Lait" → "cafe au lait" → "cafe-au-lait" slug.
Which accents are handled?
All Latin diacritics decomposable by Unicode NFD: French (é, è, ç), Spanish (ñ, á), German (ä, ö, ü), Portuguese (ã, ç), Hungarian (ő, ű), Czech (č, š, ž), Scandinavian (å, æ), and more.