Zalgo Glitch Text
Stack combining Unicode marks above, below and through your letters to produce the glitched, corrupted look known as Zalgo text. Pick light, medium or heavy, choose where the marks go, and copy the distorted version.
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 with the same settings 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. Switch a group off and only that layer goes; the other marks stay exactly where they were.
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
Type into the box above. Combining marks are stacked onto each character and the glitched result copies with one click.
Yes. Choose Light, Medium or Heavy above the input. Medium, the default, adds up to four marks above, two through and three below each letter; Heavy allows up to eight above, three through and seven below. Untick Above, Through or Below to drop that layer. Switching off Through keeps the letters much easier to read.
Because the randomness is seeded from your input, so the same text with the same settings always gives the same glitch. That is deliberate: it makes the output reproducible and prevents a mismatch between what the page renders on the server and what your browser draws. Share links carry your settings too.
Unicode allows a base character to carry unlimited combining diacritics. Stacking dozens produces marks that spill far outside the line box, which is the glitch effect.
Every visible character carries several combining marks, each of which is a separate code point. A short phrase can easily become several hundred characters.
Because heavy combining-mark runs break page layout, several platforms filter them as abusive input. There is no way around that from the generator side.
Yes. Nothing is substituted, so combining marks attach to characters in any script.
Not with this tool. You would need to strip every combining mark from the string, so keep your original text.
No. Everything runs in your browser.
Related Text Tools
Bold Text Generator
𝗕𝗼𝗹𝗱, 𝐬𝐞𝐫𝐢𝐟 and 𝙞𝙩𝙖𝙡𝙞𝙘 bold for bios and captions, copy-ready.
Italic Text Generator
Unicode italics that survive a copy and paste anywhere.
Cursive Text Generator
𝒮𝒸𝓇𝒾𝓅𝓉 and 𝓫𝓸𝓵𝓭 𝓼𝓬𝓻𝓲𝓹𝓽 letters, copy-ready.
Small Text Generator
ᵗⁱⁿʸ superscript, ₛₘₐₗₗ subscript and ꜱᴍᴀʟʟ ᴄᴀᴘꜱ side by side.
Superscript Generator
Exponents like x², footnote marks and raised tiny text.
Subscript Generator
H₂O, x₁ and log₂, with a chemical formula mode.
Bubble Text Generator
Ⓒⓘⓡⓒⓛⓔⓓ letters and numbers, copy-ready.
Wide Text Generator
Fullwidth vaporwave text with real spacing.