Convert accented characters to their plain base letters — café → cafe, naïve → naive, résumé → resume. It is handy for URL slugs, file names, search keys, usernames, and any system that only accepts plain ASCII.
How it works
The tool applies Unicode NFD normalization to your text. NFD (Normalization Form Decomposition) splits each precomposed accented character into its base letter followed by one or more separate combining diacritical marks — so é becomes e plus the combining acute accent (U+0301). The tool then removes every combining character in the Unicode range U+0300–U+036F, leaving just the base letters. Characters that have no decomposed form in Unicode — such as ł, ø, and ß — are left as-is rather than guessed at, so nothing is mapped incorrectly. Everything runs locally in your browser.
What strips and what stays
| Input | Output | Why |
|---|---|---|
| café | cafe | é decomposes to e + combining acute |
| naïve | naive | ï decomposes to i + combining diaeresis |
| résumé | resume | é decomposes cleanly |
| Ångström | Angstrom | Å and ö have combining forms |
| Łódź | Łodz | Ł has no combining accent — stays as Ł; ó and ź strip |
| ß | ß | no combining form — left unchanged |
| ø | ø | no combining form — left unchanged |
Common use cases
URL slugs. Stripping diacritics is the first step in slug generation. “Crème Brûlée” becomes “Creme Brulee”, which then lowercases and hyphenates cleanly to creme-brulee. Most slug libraries do exactly this internally.
Database search and matching. Storing a stripped shadow column alongside the original lets you match Muñoz when a user types Munoz, without losing the correct spelling in the stored record.
Usernames and identifiers. Systems that limit IDs to the ASCII range use accent removal so a user with an accented name still gets a sensible default identifier.
CSV and file exports. Many spreadsheet or legacy systems struggle with accented characters in headers or file names; stripping them prevents encoding errors downstream.
What this tool does NOT do
- It does not transliterate characters that have no combining form (ø → o, ß → ss). Those require a separate romanisation table, and the correct mapping varies by language context.
- It does not change the meaning of words. In French, “ou” (or) and “où” (where) are different words. In Spanish, “sí” (yes) and “si” (if) differ only by accent. Strip only when ASCII compatibility matters more than correct orthography.
- It does not handle Cyrillic, Arabic, CJK, or other non-Latin scripts — those characters pass through unchanged, which is the correct behaviour since they have no ASCII equivalent.
Language-specific quirks to know
Some accent-stripping results are language-specific and may be surprising:
- German umlauts (ä, ö, ü) strip to a, o, u — but the standard German transliteration expands them to ae, oe, ue. This tool does not do that expansion.
- The Spanish ñ strips to n — which changes word meaning in some contexts.
- The French ç strips to c — acceptable for slugs, incorrect for spell-checking.
- The Norwegian/Danish ø and the Polish ł have no combining decomposition and are left as-is, not converted to o or l.
For slug generation and identifier creation, the NFD-strip approach is almost always adequate. For text that humans will read, be aware of what the stripping changes in the relevant language.
All processing happens in your browser and nothing is transmitted to any server.