Overview
Introduction
Zalgo text, the glitchy, dripping style built by stacking dozens of accent marks on ordinary letters, is a fun novelty until you need to actually read or reuse the text underneath it.
Manually deleting every stray mark by hand is slow and error-prone, especially since a single zalgo'd character can carry ten or more invisible-looking combining marks.
What Is Zalgo Text Remover?
A cleanup tool that strips every Unicode combining diacritical mark in the U+0300–U+036F range from your text, which is the specific character block zalgo generators use to create the corrupted look.
It runs entirely client-side as part of this site's String Tools collection, so nothing you paste is ever uploaded to a server.
How Zalgo Text Remover Works
The tool scans the input character by character and removes any code point that falls in the U+0300–U+036F combining marks block, leaving the base letters exactly where they were.
The transformation happens synchronously in JavaScript the moment you paste text, with no network round trip involved.
When To Use Zalgo Text Remover
Use it when you've received zalgo'd text in a chat, forum post, or file and need the plain underlying message back.
It's also handy for sanitizing user-submitted text before display, since unbounded combining marks can visually break a layout even outside of a deliberate zalgo effect.
Often used alongside Glitch Text Generator and Case Converter.
Features
Advantages
- Restores readable text in one pass without manually identifying which characters are corrupted.
- Leaves ordinary accented letters and other Unicode text untouched, since it only targets the specific combining-mark block.
- Removes the marks in a single pass over the block range, so performance stays predictable even on heavily corrupted text.
Limitations
- It only strips marks in the U+0300–U+036F block; some zalgo generators occasionally pull marks from adjacent Unicode ranges that this tool won't catch.
- Strips every combining mark in that range, so legitimately decomposed text loses its accents rather than being recomposed.
Examples
Best Practices & Notes
Best Practices
- Run suspicious pasted text through this tool before further processing if it renders with unexpected stacked marks or broken line heights.
- Normalize to NFC afterwards when the source might contain decomposed accents, so any base letters left bare are recombined correctly.
- Compare the character count before and after to see how much of the text was marks rather than actual content.
Developer Notes
The core operation is a single regex replace, `input.replace(/[\u0300-\u036f]/g, "")`, which removes every code point in the Combining Diacritical Marks block regardless of how many are stacked on a given base character.
Zalgo Text Remover Use Cases
- Recovering readable text from a zalgo'd chat message or post
- Sanitizing user-submitted text that could otherwise break a page layout with excessive stacked marks
- Cleaning up copy-pasted text before feeding it into another tool or script
Common Mistakes
- Assuming this also strips ordinary accented letters like é or ü; it doesn't, since those are single precomposed code points, not combining marks.
- Running it over text that uses combining marks meaningfully, such as some Vietnamese or transliterated scripts, where those marks carry the pronunciation.
Tips
- If text still looks slightly off after cleaning, check whether it uses combining marks outside the U+0300–U+036F block, which this tool intentionally leaves alone.
- A large drop in character count with no visible change to the letters confirms the text was zalgo rather than genuinely accented.