Zalgo Glitch Text
Stack combining Unicode marks above, below and through your letters to produce the glitched, corrupted look known as Zalgo text. Type on the left, copy the distorted version on the right.
Unlike most Zalgo generators, this one is deterministic: the marks are chosen by a seeded pseudo-random generator derived from your input, so the same text always produces exactly the same glitch. Refresh the page and your output is unchanged.
Want something far more intense? Try cursed text
Zalgo Text Examples
Each row is generated by the same seeded algorithm the tool uses, so these outputs are stable rather than random.
| Input | Output | What it shows |
|---|---|---|
| glitch | g̷͉ͧ͟l̯ͬ̇͢͡i̪̝̓͒͞t̸̷̪͎́ͮͯc̴̠̫̭̓̇́͞ḧ̸͈̖ | A short word at medium intensity. |
| ERROR | E̷̗ͥR̵͔̜ͨ̈R̸̞͋͢O̵̷̪̩͐̽̏R̠͑͝ | Uppercase carries the marks with more visual weight. |
| system failure | s̻͌ͦ̏͡y̪ͮͦ̑̽͜͢ş̮̣͒̿͝t̷̵͇̞̞ͣe̶̫̺ͤͦ͢ḿ̴͕̦͙͝ f̶͇͉͌͡a̸̷͓̩̎ͪ̔i̷̻͂l̸͙̑̔̈́͠ü̷̫̰̭r̗̓̎ͣͫ͞͡e͚̻͊̽͋͡ | Spaces are left clean, so words stay distinguishable. |
| zalgo | z̗̉͞͝a̸̮̞͋l̵̞̎͂͝g̶͕̩̎͂̐̅o̴̦̎̇͠ | The name of the format itself. |
| 404 not found | 4̥̝͂̒ͧ͢͡0̺̺̘ͬ͟4̸͍̆̅͞ ň̵̬ͧ͠o̢͌͜͠t̸̴̺̯̄̔ f̺͐ͭ͢͞ỏ̪͎͎̏̂͢͝u̳ͣ̋͌͠ņ̷̙͐̇d̸̙̼͚ͯͥ͢ | Digits take combining marks as readily as letters. |
| привет | п̴̰̾͐р̥͙̀͜͞и̶̬͍̊́в̞ͣ̀͡е̸̦̍̊͢т̷̙̻̃̇ | Non-Latin scripts glitch too, because nothing is substituted. |
| a | a̡̿͡ | A single character shows the mark stack clearly. |
| line one line two | l̶̳̭̖̀͢i̻͒͡͠n̴͙̰ͧͮ͟ȇ̸̠ o̬ͬ́̿͜͠ņ̵̳̉̀ë̶͇̠̐͂͟ l̥̬̫ͦͮͮ̐͟i͎͉ͪͣ͊ͦ͞n͕̲̈́ͧ͝e̵̤̝̰̐̈́ͩ͜ ṯ͙ͮͬ͢͝ẅ͕͟o̻͓̒̆͢͜ | Line breaks are preserved; each line glitches independently. |
How Glitch Text Is Built
Zalgo abuses a legitimate Unicode feature: a base character can carry an unlimited number of combining marks.
Combining marks stack without limit
Unicode allows any number of combining diacritics after a base character. Languages need two or three; nothing in the standard stops you adding forty, and the renderer dutifully draws them all.
Marks are drawn from three groups
Above, below and middle. The tool picks a few from each group per character, which is what produces the vertical spill in both directions rather than a single dense blob.
The randomness is seeded from your text
A hash of the input seeds a mulberry32 generator. That makes the output deterministic — vital here, because Math.random() would make the server-rendered examples on this page differ from what your browser draws, and would make the behaviour untestable.
Whitespace is left clean
Spaces carry no marks, so words remain separable even at high intensity. It also stops the glitch collapsing into an unbroken smear.
Glitch Intensity and Alternatives
Two intensities of the same effect, plus the two combining-mark styles that use the same mechanism more gently.
Shared input: Glitch text
| Transformation | Result | Reach for it when |
|---|---|---|
| Zalgo (medium) | Ǵ͍̤̒͟l̷̥̩͉̇̒i̶̸͈̾t̷̬ͦc͎̹̹ͨͬ͟͝ḣ̭̹͟ ț͎͋͞͠ë̶͍̙ͪ͞x̨̫̂̄̃͠t͓̮̆̽ͣ͟͠ | You want the glitch look while keeping the text legible. |
| Cursed (heavy) | Ǵ͚͎̝̥̒ͤ́͠ļ̏̓ͦ̏͠i͎͖̜̹̣ͥ̽̂̌͜t̷̹̲̞̳͉̀͑̾̇͟c̱̠̬̺̐ͨͤ͡h̵̴͈̯̬͐ t͓̘̻̀̽ͧ̽͒͠͡͝ḙ̶̡̥̺̦̭̒̕x̜̞ͫ͑ͣ͟͞ṫ̸̙̠ͦ̂ | You want maximum corruption and do not need legibility. |
| Strikethrough | G̶l̶i̶t̶c̶h̶ t̶e̶x̶t̶ | You want one mark per character rather than a stack. |
| Underline | G̲l̲i̲t̲c̲h̲ t̲e̲x̲t̲ | You want a clean line rather than a distortion. |
Zalgo Caveats
Glitch text is the heaviest effect on this site, and it is the one most likely to cause problems.
It multiplies your character count
Each visible character carries several marks, so a short phrase can become hundreds of code points. Character-limited fields fill up almost immediately.
It spills into neighbouring lines
The marks are drawn outside the line box, so glitch text overlaps the lines above and below. That is the intended effect, but it can make surrounding content unreadable.
Some platforms strip or reject it
Because it disrupts layout, several platforms filter long combining-mark runs. Others truncate the string. Test before relying on it.
It can slow down rendering
Very long glitch strings are genuinely expensive to lay out. This is why some sites treat heavy Zalgo as abusive input rather than as decoration.
Where Zalgo Text Works
Support is inconsistent precisely because the effect breaks layout, and platforms respond to that differently.
Discord
Renders fully in messages. Many servers ban it in nicknames because it disrupts the member list, and some bots auto-remove it.
X and Instagram
Both render glitch text but often truncate very long strings. Keep it short if you want the whole phrase to survive.
Games and chat clients
Widely used and widely filtered. Some clients strip combining marks entirely as an anti-abuse measure, leaving only your base characters.
Documents and email
Renders correctly but disrupts line spacing badly, since the line height has to grow to accommodate the marks.
What Zalgo Text Is For
Horror and creepypasta aesthetics
The format originated in internet horror fiction and still carries that association immediately.
Simulated data corruption
Glitch text is a quick way to suggest a corrupted transmission in a game, an ARG or a video caption.
Halloween and event graphics
A short glitched heading sets a tone faster than any amount of description.
Testing Unicode handling
A glitch string is an excellent stress test for text rendering, truncation and normalisation in your own software.
Frequently Asked Questions
Related Text Tools
Bold Text Generator
Copy-paste bold text for bios and captions with no formatting bar.
Italic Text Generator
Unicode italics that survive a copy and paste anywhere.
Small Text Generator
ꜱᴍᴀʟʟ ᴄᴀᴘꜱ text for usernames, bios and captions.
Bubble Text Generator
Ⓒⓘⓡⓒⓛⓔⓓ letters and numbers, copy-ready.
Wide Text Generator
Fullwidth vaporwave text with real spacing.
Strikethrough Text Generator
C̶r̶o̶s̶s̶ ̶o̶u̶t̶ text anywhere, even where there is no formatting.
Underline Text Generator
U̲n̲d̲e̲r̲l̲i̲n̲e̲ text with a combining Unicode mark.
Cursed Text Generator
Maximum-intensity glitch text that spills between lines.