Skip to content
TextRuns in your browser

Remove Accents

Remove accents and diacritics from any text — é to e, ß to ss, ø to o — and keep clean plain ASCII.

Input
No upload needed — instant
Privacy
Nothing is uploaded
Cost
Free · no sign-up · no watermark

Loading tool…

The tool is loading its code on your device. This happens once and is cached for later visits.

Processed entirely on your device

Everything you type or paste is handled by JavaScript running in this tab. No request is sent, nothing is logged and nothing is stored. Close the page and it is gone.

Overview

About the Remove Accents

Remove accents and diacritics from text, converting é, ñ, ü and ø to plain ASCII. Ideal for slugs, filenames and searches — it runs entirely in your browser.

Accented letters are beautiful in prose and inconvenient in systems. A URL cannot legally carry an é without percent-encoding it into something unreadable, a filename with a diacritic trips up cross-platform sync, and a search index built on plain ASCII will not match “café” when the user types “cafe”. Folding accents to their base letters is the pragmatic fix. This accent remover strips diacritics from any text and converts accented letters to plain ASCII, while preserving text in other scripts.

How the accent remover folds diacritics

The heavy lifting is Unicode decomposition. Normalising é into its decomposed form splits it into a plain e followed by a separate combining acute accent; drop the combining mark and the base letter is what remains. The same move handles Latin-1 Supplement, Latin Extended-A and Latin Extended-B, plus the Latin Extended Additional block where Vietnamese lives — ế is a base e carrying two stacked marks, and both come off.

That decomposition is applied only to those Latin ranges, which matters more than it sounds. Run it across an entire string, as the usual one-line recipe does, and it will also take the Korean 한 apart into three jamo and pull the tonos off a Greek ά — corrupting text it was never asked to touch, invisibly, in a way that only shows up later as a failed comparison.

That handles most of Latin-1, but a group of letters has no decomposition — they are letters in their own right, not a base plus a mark:

LetterFoldedLetterFolded
ßssøo
æaeþth
œoełl
ðdıi

A small lookup table covers these, so “Straße” becomes “Strasse” rather than “Strae” or “Straß”.

When to remove accents and when not to

Fold accents for machine-facing strings: URL slugs, filenames, database keys, search normalisation, CSV columns that must match across systems, and identifiers that are restricted to ASCII.

Do not fold accents as a way of “cleaning up” human-facing text. In Spanish, “año” (year) and “ano” are different words; in French, “du” and “dû” carry different meanings; removing a cedilla from “façade” is simply a spelling error. Diacritics are part of correct orthography, and stripping them from prose degrades it.

Pairing the accent remover with other tools

Accent removal is usually one step in a pipeline. Fold the accents, then pass the result to the slug generator to get a clean URL segment, or lowercase it here and feed it into a case-insensitive comparison. Used that way it turns “Crème Brûlée — Recipe Nº 5” into something a filesystem, a database and a browser will all agree on.

Worked examples

TypedFolded
Crème brûléeCreme brulee
StraßeStrasse
Tiếng ViệtTieng Viet
ŁódźLodz
ÆrøAEro
filefile
한글한글 — unchanged
άλφαάλφα — unchanged

Vietnamese is the interesting row: ế and ệ stack a tone mark on top of a vowel that already carries one, and both marks are removed in the same pass. The fi ligature is worth noting too — it is a single character, not two letters, and PDFs are full of them, which is why a copied word can arrive looking correct and still fail a search for “file”.

What the four counters mean

Characters is simply the length of the result.

Accents removed counts the non-ASCII characters in what you pasted — every character that could not have survived as plain ASCII untouched.

Still non-ASCII counts what remains in the output. Anything left there is deliberate: another script, punctuation such as an em dash, an emoji. The gap between the two numbers is what was actually folded, so “Accents removed 3” sitting next to “Still non-ASCII 2” on a line of mixed Korean and French means precisely one letter changed.

Case reports whether the lowercase switch is on. Leave it off when you are transliterating a name and want “Müller” to stay “Mueller”-shaped with its capital intact; turn it on when the output is headed for a slug or a lookup key.

Common uses for removing accents from text

A few scenarios where stripping accents saves real time: converting a list of international names for a database that requires ASCII, generating URL slugs from non-English headings, or normalising search keys so “café” matches “cafe”. The accent remover runs entirely in the browser, so confidential data — customer lists, unpublished manuscripts, legal documents — is never uploaded. Paste the text, read the plain-ASCII result, and copy it or download it as a text file.

Step by step

How to use the Remove Accents

  1. Paste the accented text you want to transliterate.

  2. Read the plain-ASCII result, which updates as you type.

  3. Optionally switch on lowercase for slugs and filenames.

  4. Copy the output or download it as a text file.

Why use it

Benefits and common use cases

What this tool is good for, and what it deliberately does not try to do.

Handles the letters NFKD cannot

Most accents are removed by Unicode decomposition, but letters like ß, ø, æ, þ and ł do not decompose. A dedicated table maps those to ss, o, ae, th and l so nothing is silently dropped.

Built for slugs and search keys

Accented characters break URL slugs, filename conventions and naive search indexes. Folding them to ASCII first makes “Crème brûlée” safe to use as “creme-brulee”.

Preserves other scripts

Decomposition is applied to the Latin blocks alone. Greek keeps its tonos, Korean stays as composed syllables instead of being pulled apart into jamo, and Cyrillic, Arabic, Hebrew, CJK and emoji come back exactly as they went in rather than being reduced to question marks.

Optional lowercasing

A single switch also lowercases the result, which is what you want when the folded text is headed for a case-insensitive match, a database key or a lowercase slug.

Questions

Frequently asked questions

Short, honest answers about quality, limits and privacy.

What is the difference between an accent and a diacritic?

A diacritic is any mark added to a letter — the acute (é), the umlaut (ü), the tilde (ñ), the cedilla (ç). “Accent” is the everyday word for the same idea. This tool removes all of them and folds the letter back to its ASCII base.

Why does ß become “ss” instead of “b” or being deleted?

Because ß (the German sharp s) has no single ASCII equivalent; its established transliteration is “ss”. The same logic maps æ to “ae”, ø to “o”, þ to “th” and ł to “l” — a small table handles the letters that Unicode decomposition leaves alone.

Will it damage text in other alphabets?

No, and that takes more care than it appears to. The blanket Unicode NFKD pass most code snippets use will quietly decompose a Korean syllable into three separate jamo and strip the accent off a Greek vowel. Folding here is restricted to the Latin ranges instead, so Cyrillic, Greek, Hebrew, Arabic, Chinese, Japanese, Korean and emoji are returned character for character as supplied.

Does removing accents change the meaning of words?

In some languages it can: in Spanish “año” and “ano” are different words, and accents distinguish meaning in French and Portuguese. Use folding for technical keys — slugs, filenames, search normalisation — not as a substitute for correct spelling in prose.