piapia123
en

Diacritic Remover

Text

Everything runs locally in your browser — nothing is uploaded

Input
Drop a file here to load its contents
Output

`Café` → `Cafe`, `naïve` → `naive`, `Tiếng Việt` → `Tieng Viet`. The method is Unicode NFD: `é` is decomposed into `e` plus a combining acute accent, then the combining marks are deleted. That beats maintaining an “é→e” table, which fails the moment it meets a Vietnamese letter carrying two stacked marks. ⚠️ Standalone letters such as `Ø`, `Đ` and `Ł` have no base letter to decompose to, so diacritic removal does not apply to them. The tool does not pass over this in silence: it lists those characters and explains why they are unchanged. Turning `Ø` into `O` is transliteration, a different job with language-specific rules, and is deliberately not done here. Everything runs in your browser; nothing is uploaded.

Features

  • NFD decomposition plus combining-mark removal, covering English, French, German, Spanish, Vietnamese and more
  • Not English-only: combining marks in any script are recognised
  • Three modes: remove all, accents only (keeping ñ ç), or tone marks only
  • Lists unchanged standalone letters such as Ø Đ Ł and explains why
  • Reports how many characters were changed
  • Code-point based, so emoji and multi-byte characters are untouched
  • Shares one implementation with the slug generator, so behaviour cannot drift

How to use

  1. Paste text that contains diacritics
  2. Choose which marks to remove
  3. The result and the changed-character count appear immediately
  4. Any standalone letters left unchanged are called out

FAQ

Why not use a lookup table?
A hand-written “é→e” table only covers the letters its author thought of, and fails on something like Vietnamese, where a base letter carries two stacked marks. NFD is decomposition defined by the Unicode standard, so it holds for any language.
Why are Ø Đ Ł unchanged?
They are standalone letters, not “base letter plus mark”, so Unicode cannot decompose them and diacritic removal does not apply. Transliterating them to O, D, L is a different operation with its own rules, and is out of scope here.
What is the difference between accents-only and tone-marks-only?
The same code point plays different roles in different languages: the acute accent is an accent in French and a tone mark in Vietnamese. “Accents only” keeps letter marks such as ñ ç, while “tone marks only” removes just the Vietnamese and pinyin tone marks.
Is anything uploaded?
No. It is all computed in memory in your browser, no request is made, and it works offline.

Related tools