Logo

MonoCalc

/

Accent Remover

Text
Remove accents, build a slug, inspect every accented character, compare before and after, or apply your own replacement table.
0 characters · 0 words · 0 lines · 0 bytes

Language presets

Canonical decomposition — the form accent removal needs.
Used in Slugify mode. Allowed: - _ . ~ +
One from=to pair per line. 0 active.

Enter some text to remove accents, or load one of the language presets above.

About This Tool

Accent Remover – Convert Accented Text to Plain ASCII

The Accent Remover strips diacritical marks from text and returns the plain ASCII equivalent, so Crème brûlée à la française becomes Creme brulee a la francaise and Łódź becomes Lodz. It works as a diacritic remover, a text transliterator and a URL slug generator in one page, and every conversion happens locally in your browser.

Why accented characters cause problems

Accents are correct in prose but hostile to machines. URL slugs get percent-encoded into unreadable strings, filenames break on older file systems, CSV imports into legacy databases fail on non-ASCII bytes, usernames and email locals reject them outright, and a search for Muller silently misses every row that stores Müller. Removing accents produces a canonical, ASCII-safe form you can index, compare, sort and transmit with confidence.

How Unicode normalization does the work

Unicode can express an accented letter in two ways: as one precomposed code point (é = U+00E9) or as a base letter followed by a combining mark (e + U+0301). NFD normalization converts every precomposed letter into the second form. Once the accent lives in its own code point, it can simply be deleted:

text.normalize("NFD")
    .replace(/[\p{Mn}\p{Me}]/gu, "")
    .normalize("NFC")

That single chain handles the Latin-1 Supplement, Latin Extended-A and Latin Extended-B blocks — French, Spanish, Portuguese, Italian, Czech, Polish vowels, Vietnamese stacked marks and more.

The letters NFD cannot fix

Some letters carry their diacritic inside the glyph, or are ligatures, so Unicode gives them no canonical decomposition. They survive NFD untouched and need an explicit transliteration map:

CharacterNameASCII output
ø / ØO with strokeo / O
ł / ŁL with strokel / L
đ / ĐD with stroked / D
æ / œAE and OE ligaturesae / oe
ßSharp sss
þ / ðThorn and ethth / d

Modes you can run

Remove Accents keeps punctuation, digits and casing intact and only drops the marks. Slugify continues further: it lowercases the result, collapses every non-alphanumeric run into your chosen separator and trims the ends, turning Cómo hacer Paella Valenciana — Guía 2026 into como-hacer-paella-valenciana-guia-2026. Accent Detector changes nothing and instead reports every non-ASCII character with its position, code point, Unicode name and planned replacement. Compare shows the original and cleaned text side by side with each substitution highlighted, and Custom Map lets you override defaults with from=to lines so German ö=oe or Danish å=aa conventions win.

Batch and line-by-line processing

Turn on line-by-line mode and each line is treated as an independent record, producing a table of original versus cleaned values that exports straight to CSV. This is the fastest way to normalize a column of names, cities or product titles before importing them into a system that only accepts ASCII or ISO-8859-1.

Accents carry meaning
Removing diacritics is a technical normalization, not a translation. In Spanish año and ano are different words, and in French sur and sûr mean different things. Use the de-accented form for slugs, keys, filenames and search indexes, and keep the accented original in the text your readers see.

Reading the statistics panel

Alongside the cleaned text the tool reports how many characters were replaced, which distinct accented characters appeared, whether the output is pure ASCII, the character counts before and after, and the UTF-8 byte size of each. The counts can legitimately differ: an accented letter costs two bytes in UTF-8 but one after conversion, while ß becomes two characters. A frequency chart ranks the most common accented characters, which is a quick way to see whether an unexpected script has crept into your data.

Nothing leaves your device
All normalization runs client side with the browser's built-in Unicode tables, so names, addresses and other personal data in your text are never uploaded.

Frequently Asked Questions

Is the Accent Remover free?

Yes, Accent Remover is totally free :)

Can I use the Accent Remover offline?

Yes, you can install the webapp as PWA.

Is it safe to use Accent Remover?

Yes, any data related to Accent Remover only stored in your browser (if storage required). You can simply clear browser cache to clear all the stored data. We do not store any data on server.

How does the Accent Remover work?

Your text is normalized with Unicode NFD, which splits an accented letter into its base letter plus a separate combining mark, and the combining marks are then deleted before the text is recomposed. Letters whose accent is baked into the glyph — ø, đ, ł, æ, œ, ß, þ — have no decomposed form, so a transliteration map converts those explicitly. Everything runs in your browser; no text is uploaded.

Why do ß, ø and ł survive plain NFD normalization?

NFD only separates characters that Unicode defines as a base letter plus a combining mark. A stroke through a letter, a ligature such as æ, and the German sharp s are independent letters with no canonical decomposition, so normalization leaves them untouched. Keep the Handle Special Letters option on and they are transliterated to o, l, ae and ss instead of being left behind.

Should ö become o or oe?

Both are correct depending on the language. The default Unicode behaviour gives o, while German transliteration convention gives oe, and Danish or Norwegian often expand å to aa. Use the Custom Map mode — or one of the language preset chips — to override any character with the convention your target system expects.

Does removing accents change the meaning of a word?

Sometimes it does, so use it for technical normalization rather than for publishing. In Spanish, año and ano are different words, and in French, sur and sûr differ in meaning. De-accented text is ideal for URL slugs, filenames, database keys and search matching, but the accented original should stay in the visible content.

What happens to characters that cannot be transliterated?

Scripts with no Latin equivalent — Chinese, Japanese, Korean, Arabic, Cyrillic, emoji — pass through unchanged by default, because deleting them would silently destroy content. Enabling Strip Non-ASCII Remainder removes them so the output is guaranteed pure ASCII, and the tool warns you how many characters that will delete before you rely on the result.

Is there a limit on how much text I can process?

Input is capped at 100,000 characters and file uploads at 1 MB so that live processing stays responsive. Longer inputs are truncated with a visible warning, and the per-line batch table pages long results while the statistics panel still reports totals for the whole processed input.