Understanding the glitch text generator — concept and principle
Glitch text, also called Zalgo text, looks corrupted because marks pile up above and below the letters. This generator adds random Unicode combining marks to your text at light, medium or heavy strength. The underlying letters stay the same, so the text can still be read by stripping the marks away.
How it is calculated
For each non-space character, add random marks:
- Light: 1 mark above
- Medium: 1–3 above and 1–2 below
- Heavy: 2–6 above, 2–6 below and sometimes 1 overlay (strike-through)
Marks come from the Combining Diacritical Marks block (U+0300–U+036F): 51 above (combining class 230), 39 below (class 220) and 5 overlays (class 1).
Length in UTF-16 = original length + number of marks.
- Random picks use the browser's cryptographic generator; change the draw number for a new pattern.
The principle
A combining mark has no width of its own; it attaches to the character before it, like the accent in "é". Unicode allows any number of combining marks to be stacked on one base character, and fonts draw each one further up or down. Piling many on each letter makes them spill outside the line and overlap neighbouring lines, which creates the glitchy effect. Because the base letters are unchanged, removing all marks restores the original text.
Worked example
Default inputs: "Game over", medium strength, draw 1.
- "Game over" has 9 characters, one of them a space, so 8 characters are glitched.
- Each of the 8 gets 1–3 marks above and 1–2 below, so between 16 and 40 marks in total.
- This draw added 29 marks, producing text like G͙̝ͪ̄a̟̮̍ͦm̪ͯͫe̜͕͌̑ o̱̲ͣͩv͇̭̽e̫̎̓̈́ȑ͙̟.
- Length in UTF-16 units = 9 + 29 = 38.
- A different draw number gives a new random pattern and a different mark count.
How to read the result
Use light or medium strength where readability matters; heavy text can overlap nearby lines and become unreadable. Some platforms limit or strip combining marks, and screen readers may read them as noise, so avoid glitch text for important information or usernames.
Common mistakes
- Using heavy glitch text in places where it overlaps other content.
- Expecting the same pattern every time; it is random per draw.
- Pasting into fields with tight character limits, since each mark counts.
- Using it for names or links that need to be searchable.
Frequently asked questions
Why does glitch text spill over other lines?
Stacked combining marks are drawn above and below the line without taking up extra line height.
Is the original text still there?
Yes. Removing the combining marks restores it.
Why is the text longer than it looks?
Every invisible-width mark still counts as a character.
Is it safe to use?
It is harmless text, but some platforms filter it and it hurts accessibility.
Sources: The Unicode Standard 15.1, §2.11 "Combining Characters"; Combining Diacritical Marks block (U+0300–U+036F) and canonical combining classes from UnicodeData.txt · W3C, Web Cryptography API, crypto.getRandomValues