Remove Accents & Punctuation
Strip diacritics and punctuation from any text — independent toggles, base letters kept — entirely on this device.
Press ? for shortcuts
Do it offline:$ perl -CSAD -MUnicode::Normalize -pe '$_=NFC(NFD($_) =~ s/[\x{0300}-\x{036F}\x{1AB0}-\x{1AFF}\x{1DC0}-\x{1DFF}\x{20D0}-\x{20FF}\x{FE20}-\x{FE2F}]//gr)' file.txt
How to use it
- Paste or type into the input, or open a text file with the picker — it is read locally and never sent to a server.
- Tick Strip accents to fold diacritics, tick Strip punctuation to drop it, or use both; each toggle is independent and the removal counts update live.
- Pick the output form: composed (NFC) recombines any kept accent into a single code point, decomposed (NFD) leaves the base letter and its mark apart.
- Copy the result, download it as a .txt file, or share the current toggles as a link — sharing asks first when the input looks credential-shaped.
An accented name and its plain spelling should match the same search key, yet café and cafe index, sort and compare as two different strings. This page folds every decomposable accent back to its base letter — é to e, ü to u, ñ to n — through Unicode decomposition, and can drop punctuation in the same pass. Each toggle works on its own, and the letters, symbols and spacing you keep never leave this browser tab.
Examples
café déjà Zürich naïvecafe deja Zurich naiveOn the defaults, five combining accents come off and nothing else moves: Zürich keeps its capital Z, only the umlaut goes. This is the byte-for-byte result the perl one-liner below reproduces.
"Hello, world!" (v2.0) — #doneHello world v20 doneStrip punctuation alone takes out nine marks — the two quotes, the comma, the exclamation, the parentheses, the period inside v2.0, the em dash and the hash. The pair of spaces that surrounded the em dash stay, because spacing is not punctuation.
Blåbær ß Москва́Blabær ß МоскваThe ring over å and the acute over the Cyrillic а are combining accents, so both fold away; but æ and ß are single letters with nothing to peel off, so they stay and a note names them and points to the slug generator for a full ASCII rewrite.
Every example on this page is executed against the same engine that powers the tool, on every build.
Gotchas worth knowing
Some letters have no accent to remove
A short set of Latin letters — ß, æ, œ, ø, đ, ł, ħ, ð, þ and their capitals — is written as one indivisible glyph, not a base plus a mark. Decomposition cannot split them, so they pass through as-is and a chip lists exactly which ones survived.
Marks that spell a word are left in place
Arabic harakat, Hebrew niqqud and Devanagari matras are combining marks too, but they carry pronunciation rather than decorate a Latin letter. They fall outside the diacritic ranges this tool targets, so مُحَمَّد and its vowel points come back untouched.
Currency and math symbols are kept
Strip punctuation removes the Unicode punctuation categories and nothing else. Symbols are a separate class, so $, +, =, © and € remain — a price, a formula or a copyright line reads the same after the pass, minus any commas or brackets around it.
Composed and decomposed input agree
An é stored as one code point and an e followed by a combining acute both reduce to a bare e, because the first step decomposes everything before any mark is dropped. Composed output then recombines whatever accents you chose to keep.
Spaces and line breaks are never touched
Deleting a comma between two words leaves both surrounding spaces where they were; runs are not collapsed and line ends are not trimmed. Tidying whitespace is a separate job, as is surfacing zero-width and bidirectional code points.
Common errors
Input is larger than the 1 MB limit for this tool.- A refusal, not a trim: the page folds the whole input or none of it. Past a megabyte the perl line below does the same fold at any size, and inputs from 256 KB up to the cap already run in a cancellable background worker.
kept as-is — no combining accent to strip: æ, ß; for full ASCII folding use the slug generator- Not a failure — a note. These letters have no accent to peel away, so folding cannot reach them. When a title has to become pure ASCII, the slug generator maps ß to ss, æ to ae and ø to o instead of keeping them.
FAQ
Does it keep the base letter?
Yes. Folding an accent decomposes the character and removes only the combining mark, so é becomes e and ñ becomes n while the letter underneath always stays. Deleting the whole letter is a different operation this page never performs.
Why is ß or ø still in my output?
Because neither is a base letter plus a separable mark — each is a single letter in its own right. Folding cannot turn ß into ss or ø into o, so both are kept and flagged; the slug generator is the tool that performs that ASCII mapping.
Does it remove spaces or hidden characters?
No. Runs of spaces, tabs and line breaks come out exactly as you pasted them, and zero-width or bidirectional code points are not detected here. A dedicated whitespace cleaner handles the first, and an invisible-character inspector the second.
Keyboard shortcuts
- ⌘/Ctrl + Enter
- Run the pass again at any input size.
- ⌘/Ctrl + S
- Save the cleaned text as a .txt download.
- ⌘/Ctrl + C
- With no selection, copy the whole output; a selection copies only itself.
- ⌘/Ctrl + Shift + C
- Copy the whole output even while a selection exists.
- t
- Advance to the next theme palette.
- ? or ⌘/Ctrl + /
- Open the keyboard-shortcut help dialog.
- Esc
- Close the top overlay and leave the input alone.