Clean

Strip accents from accented letters in any text or dataset

Strip all diacritical marks from accented characters, converting to plain ASCII equivalents.

🛡️ Your rows never leave your browser.
Why Onfyt: Uses Unicode NFD decomposition — not a lookup table — so it handles the full range of Latin, Greek, and Cyrillic combining diacritics, not just the 26 most common.

Interactive Sample Data

idname
1François Müller
2José García
3Søren Andersen

How this tool works

Accented characters cause silent failures across many technical systems. Legacy databases configured with Latin-1 (ISO-8859-1) encoding reject UTF-8 multi-byte sequences. Search indexes that lack Unicode folding treat 'nairobi' and 'naïrobi' as different terms. URL slugs break on é and ü. SMS and telco APIs reject non-ASCII text in message bodies. The standard approach is Unicode NFD (Normalisation Form D) decomposition: each accented character is split into its base letter and a combining accent mark. The combining marks (Unicode category Mn — Mark, Nonspacing) are then stripped, leaving only the base letters. This is more reliable than a hand-crafted lookup table because it handles the full Unicode range, not just the 50 most common Latin accented characters. Examples: - é → e (U+00E9 → U+0065 + U+0301 stripped) - ü → u (U+00FC → U+0075 + U+0308 stripped) - ñ → n (U+00F1 → U+006E + U+0303 stripped) - ø → o (ligature, mapped to o) - æ → ae (ligature, mapped to ae) Controls on this page: - Paste text or CSV data into the input panel. - Type 'remove accents' and click Run. - Add 'preserve case' to keep uppercase accented letters as uppercase ASCII. - For CSV, add 'from the [column name] column' to restrict the operation to one column. All normalisation runs inside your browser.

Things that usually go wrong

  • Non-Latin scripts (Arabic, Chinese, Hebrew) do not decompose into ASCII base letters — they pass through unchanged.
  • The German sharp-s (ß) becomes 'ss', which increases the character count by one — account for this in fixed-width fields.
  • Ligatures like IJ (Dutch IJ) may not decompose correctly on all platforms — check the output for the specific ligatures in your data.

Edge cases we tested

🧪 Ø (capital O with stroke) and ø (lowercase)

Mapped to O and o respectively — stroke is a ligature, not a combining diacritic, handled via explicit mapping.

🧪 æ (ae ligature)

Expanded to ae — one character becomes two ASCII characters.

🧪 German ß (sharp s)

Replaced with ss, matching the standard German capitalisation rule.

🧪 Arabic or Chinese characters

Passed through unchanged — NFD stripping targets Latin combining marks only; non-Latin scripts are not affected.

🧪 Already pure ASCII input

Returned unchanged — the tool is idempotent on ASCII text.

Frequently Asked Questions

Will this change the letters themselves, or only remove the accent marks?

Only the combining accent marks are removed. The base letters (e, u, n, a, etc.) remain. Ligatures (æ, ø, ß) are expanded to their ASCII equivalents.

Does it work on CSV column values?

Yes. Paste CSV with headers and the engine applies the stripping to the specified column (or all columns if no column is specified).

Will uppercase accented letters become uppercase ASCII?

Yes by default. É becomes E, not e. Add 'lowercase' to your instruction to force lowercase output.

Can I apply this to just one column in a CSV?

Yes — specify 'from the [column name] column' in your instruction.

Related tools

Format

Text to URL Slug

Turn any text title into a lowercase, hyphen-separated URL slug safe for web addresses.

Open Tool →
Clean

Fix Garbled Characters (Encoding)

Repair character encoding glitches (mojibake) caused by Windows-1252 or ISO-8859-1 interpreted as UTF-8 (e.g. é -> é, ’ -> ').

Open Tool →
Clean

Change Text Case

Transform column text into UPPERCASE, lowercase, Title Case, Sentence case, or camelCase across your spreadsheet.

Open Tool →
Clean

Trim Whitespace

Clean up accidental leading, trailing, and duplicate spaces across all columns in your spreadsheet.

Open Tool →