Introduction
Zalgo text is what happens when you stack Unicode combining diacritical marks on top of each other until the renderer gives up. Letters sprout accents above and below until they blur into a vertical smear of glyphs. The style originated as a meme on Something Awful around 2004, tied to a tentacled eldritch character named Zalgo. Type any text above, set the intensity slider, and watch the tool pile on combining marks from Unicode block U+0300 through U+036F. All processing runs locally in your browser.
What this tool does
- Zalgo generation: each alphabetic character in your input gets a random selection of combining diacritical marks stacked above, below, and over it. The intensity slider (1-10) controls how many marks are added per character.
- Intensity control: at level 1, each letter gets 1-2 marks for a subtle effect. At level 10, each letter gets 10-20 marks for maximum corruption.
- Mark stripping: if you paste existing Zalgo text into the input, the settings panel shows the stripped version with all combining marks removed.
- Non-alphabetic characters (spaces, punctuation, digits) pass through unchanged so the text structure stays intact.
- The settings panel lists all 112 combining marks from the U+0300-U+036F block with their Unicode code points on hover.
- All generation runs client-side. No text is sent to any server.
How this tool works
The generator iterates over each character in your input. For alphabetic characters (matched by the Unicode p{L} property), it appends a random number of combining marks. The count scales with the intensity setting: at intensity N, each character gets between N and 2N marks. Marks are drawn from three pools: above-position marks (like U+0300 combining grave accent), below-position marks (like U+0316 combining grave accent below), and overlay marks (like U+0334 combining tilde overlay). The tool distributes marks roughly 40% above, 40% below, and 20% overlay. Non-alphabetic characters skip the mark-adding step entirely. The intensity setting syncs to a URL query parameter so you can share a link that preserves your configuration. The strip function removes all characters in the U+0300-U+036F range plus combining marks from several supplementary Unicode blocks that extreme Zalgo generators sometimes use.
How Zalgo text and Unicode combining marks work
The Unicode Standard defines a block called "Combining Diacritical Marks" at code points U+0300 through U+036F. This block contains 112 combining characters. A combining character does not stand alone. It modifies the preceding base character, rendering as an accent, overlay, or subscript. Unicode allows multiple combining marks to stack on a single base character, and most rendering engines will attempt to display all of them. Stack enough marks and the result overflows the line height, overlaps adjacent characters, and produces the distinctive Zalgo appearance.
The Wikipedia article on Zalgo text traces the meme to the Something Awful forums around 2004. Dave Kelly, known online as Shmorky, created artwork featuring a tentacled entity called Zalgo. Forum users began writing the entity's "speech" in corrupted text by pasting combining marks over regular letters. The style spread to 4chan, Reddit, and Tumblr over the following years.
Unicode combining characters have a specific status in the standard. They are assigned to general category Mn (nonspacing mark) or Mc (spacing combining mark). Most marks in U+0300-U+036F are nonspacing, meaning they advance the text cursor by zero width. This is why they stack on the base character instead of appearing beside it. The Unicode Standard does not define a limit on how many combining marks can follow a single base character, though rendering engines may impose practical limits.
How to use this tool
- Type or paste text into the input field. Any text works, but shorter inputs produce more visible corruption.
- Set the intensity slider from 1 (subtle) to 10 (extreme). Higher values add more combining marks per letter.
- The output updates instantly. Each letter in your input gets random combining marks stacked above and below it.
- If you paste existing Zalgo text, the settings panel shows the stripped version with marks removed.
- Copy the result with the "Copy result" button. Paste it into chat apps, social media, or text documents.
- Note that some platforms strip or limit combining marks in their text rendering. Test before relying on the output.
Real-world examples
Creating spooky social media text
A user wants to post a creepy message on a forum. They type "i am coming for you" and set intensity to 7. The output shows each letter buried under a stack of accents, dots, and lines. They copy the result and paste it into a Discord message. The text renders with the characteristic Zalgo corruption, though Discord clips extremely tall stacks at a certain height.
Subtle glitch effect for a username
Someone wants a mildly corrupted display name for a gaming profile. They type their username "vortex" and set intensity to 2. Each letter gets 2-4 combining marks, producing a subtle glitchy appearance without becoming unreadable. The output still resembles the original word at a glance but looks "off" on closer inspection.
Stripping Zalgo from copied text
A user receives a message full of Zalgo text and wants to read the underlying content. They paste it into the input field. The settings panel immediately shows the stripped version: all combining marks from U+0300-U+036F and supplementary blocks are removed, leaving only the base characters. The stripped text reads "meet me at dawn" and the user can now read it normally.
Comparison with similar methods
| Method | Complexity | Typical use |
|---|---|---|
| Zalgo text | Low | Meme text, creepy social media posts, decorative corruption |
| Leetspeak | Low | Gaming culture text substitution, replacing letters with numbers |
| Emoji cipher | Low | Replacing letters with emoji for playful encoding |
| Pig Latin | Low | Word game, rearranging syllables to obscure English text |
Limitations or considerations
Zalgo text is a visual effect, not an encoding or encryption. Anyone with a Unicode strip function can recover the original text. The combining marks come from the U+0300-U+036F block, which covers 112 characters. Some platforms and applications strip or normalize combining marks, which can reduce or eliminate the Zalgo effect. Chat apps like Discord and Slack may clip tall mark stacks. Browsers handle stacking differently, so the same text can look different across devices. Very high intensity (8-10) can cause performance issues in text editors and chat clients because each character carries a large number of code points. This is not encryption. For actual encryption, use the AES block cipher. For other text transformation tools, try the Leetspeak translator, the Emoji cipher, the Pig Latin translator, or the T9 decoder.
Frequently asked questions
What is Zalgo text?
Zalgo text is regular text with excessive Unicode combining diacritical marks stacked on each character. The marks come from the Unicode block U+0300 through U+036F. When enough marks stack on a single letter, the rendering overflows and produces a corrupted, glitchy appearance. The name comes from a Something Awful forum meme from around 2004, created by Dave Kelly (Shmorky).
How does the intensity slider work?
The intensity slider controls how many combining marks are added per alphabetic character. At intensity 1, each character gets 1-2 marks. At intensity 10, each character gets 10-20 marks. The marks are randomly selected from three pools: above-position marks, below-position marks, and overlay marks. Higher intensity produces more visual corruption but may cause rendering issues on some platforms.
Can Zalgo text be reversed?
Yes. Zalgo text is not encrypted. The combining marks can be stripped by removing all characters in the U+0300-U+036F range. This tool includes a strip function that removes marks from that range plus several supplementary Unicode blocks. If you paste Zalgo text into the input, the settings panel shows the stripped version automatically.
Why does Zalgo text look different on different platforms?
Rendering engines handle combining mark stacking differently. Some browsers and chat apps clip marks that extend beyond a certain height. Others normalize or collapse excessive marks. The Unicode Standard does not define a limit on combining mark stacking, so behavior depends on the rendering engine. Discord, Slack, and most social media platforms apply their own clipping limits.
Is Zalgo text an encoding or encryption?
No. Zalgo text is a visual effect created by adding Unicode combining marks. The original text is fully recoverable by stripping the marks. It provides no security or privacy. If you need actual encryption, use a real cipher like AES or ChaCha20.
Conclusion
The Zalgo text generator stacks Unicode combining diacritical marks on your input to produce corrupted, glitchy text. Adjust the intensity slider, type your text, and copy the result. For other text transformation tools, try the Leetspeak translator, the Emoji cipher, the Pig Latin translator, or the T9 decoder.