Remove Accents & Diacritics from Text
Strip accents and diacritics (café → cafe, naïve → naive) via Unicode NFD decomposition — leaves non-accented letters like ø or Cyrillic й untouched.
You can also drop a text file onto the box.
cafe naive Zurichcafe naive Zurich
Input 17 characters · output 17 · 3 changed
Changed: é → e ×1, ï → i ×1, ü → u ×1
Taking an accent off can turn one word into another — Spanish año (year) becomes ano, French où (where) becomes ou (or). Check names and formal writing before you use the result.
What does removing accents do?
This tool takes text that contains accented or diacritical characters — like café, naïve, Zürich, or crème brûlée — and returns the plain base letters: cafe, naive, Zurich, creme brulee. It works by putting each character into Unicode NFD (Normalization Form Decomposition), which separates a letter from its accent mark, and then deleting every combining diacritic. Letter case, spaces, punctuation, numbers, and any character that has no accent are all preserved exactly — unless you tick the option to spell those out too (ł → l, ø → o, ß → ss), or “Also make it lowercase, as a slug or a user name wants”, which lowercases the result in the same pass.
When is this useful?
Stripping accents is handy for creating clean file names, URL slugs, usernames, and database keys, or for matching search terms where users may or may not type the accents. Type or paste into the box and the accent-free result appears live — then copy it with one click. You can also drop a text file onto the box, or pick one of the More examples: buttons — French & Spanish, German, Polish & Nordic, Vietnamese — to see what each language loses and what it keeps. Note that letters which are their own distinct character rather than an accented base, such as ø, ð, or ł, are not decomposable and are left unchanged. Cyrillic is left alone too: й, ё, ї and ў do decompose in Unicode, but they are letters of their alphabets rather than accented ones, so Київ and район come back exactly as typed. Once anything has changed, a line under the result warns that taking an accent off can turn one word into another — Spanish año becomes ano, French où becomes ou — so check names and formal writing before you use it.
Frequently asked questions
How does it decide what is an accent?
It uses the Unicode standard. Each character is decomposed into a base letter plus any combining diacritic marks, and only the diacritic marks are removed. This reliably handles accents across Latin scripts without a hand-written lookup table.
Why do some characters like ø or ð stay the same?
Those are separate letters in their own right, not a base letter with an added accent, so Unicode does not decompose them. Cyrillic й, ё, ї and ў are the other exception: they do decompose, but into letters of their own alphabets, so they are kept as well. Only true combining diacritics (like the acute in é or the umlaut in ü) are stripped.
Can it turn ø or ß into plain letters, and show what changed?
Yes. Tick the option to spell out letters that carry no accent to strip (ł → l, ø → o, ß → ss). The page says how many characters changed, lists each conversion, and names any Latin letters still not plain ASCII.
Can I drop a file in, or see how other languages come out?
Yes. Drop a text file onto the box and it loads the way “Open file…” loads one — the same size limit and the same encoding detection — and a file that is not text is refused with a note. The “More examples:” buttons (French & Spanish, German, Polish & Nordic, Vietnamese) each load a line in that language; with the spell-out option off, Polish & Nordic shows Ł, Æ and ø coming through unchanged and named under “Still not plain ASCII”.
Can it lowercase the result too, for a slug or a user name?
Yes. Tick “Also make it lowercase, as a slug or a user name wants” and the result comes out in lower case in the same pass — Crème Brûlée becomes creme brulee. It is off by default, so the case comes out as it went in, and a copied link carries the setting along with the text.