Someone sent you c̷u̴r̶s̵e̸d̶ text, or you over-corrupted your own. Here's how to get the clean original back — instantly, and always losslessly.
Paste the corrupted text into an unzalgo decoder — a tool that strips Unicode combining marks. Zalgo is just ordinary text with dozens of invisible-width marks stacked on each letter, so removing the marks restores the original perfectly. The Decode Zalgo box in our zalgo generator does this live as you paste: corrupted text in, clean text out, with a count of how many marks were removed.
Unicode "combining marks" are characters that attach visually to the letter before them — the accent in é is one. Zalgo abuses this by stacking many marks per letter, but the base letters underneath are untouched. Nothing is encrypted, substituted, or lost.
That means decoding is always possible and always lossless: filter out every character in the combining-mark ranges (U+0300–U+036F and a few related blocks) and what remains is exactly what was typed. A zalgo'd password, name, or message can always be read by anyone with a decoder — worth remembering before you use zalgo to "hide" anything.
Combining marks have no width of their own, so your cursor can't land between them. In most editors, pressing backspace at the end of a zalgo'd letter deletes the entire visible character — letter and all its marks — or behaves unpredictably. Selecting "just the marks" with a mouse is impossible.
A decoder sidesteps all of this by filtering the text programmatically. Paste, copy the clean result, done.
If you moderate a Discord server, forum, or wiki, you don't have to decode zalgo case by case. Discord AutoMod accepts regex rules that match runs of combining marks — a pattern that catches several U+0300–U+036F characters in a row flags virtually all zalgo while leaving accented names like "José" alone. The MEE6 bot ships a ready-made zalgo filter that can delete messages or warn users.
The same trick works anywhere regex filters are available: match the combining-mark ranges a decoder strips, and you've matched zalgo. Decoding a suspicious username first (to see what it actually says) is still a good habit before acting on it.
Paste any cursed text into the built-in decoder — clean text appears instantly, free, no sign-up.
Open the Unzalgo Decoder →Related: wondering whether that corrupted message could harm your device? See is zalgo text safe. Trying to make zalgo that survives a game's chat filter instead? See does zalgo work on Roblox. And to create (rather than remove) glitch text, use the Zalgo Text Generator.