Zalgo Text Generator - Glitch & Creepy Text Effects
3 styles for zalgo
15 characters (graphemes) · 15 Unicode code points · 15 UTF-16 units
H͖̬ͮe̺͂ͩl̜̏̿l̜̏̿o͓̠̅ W̱ͬ̽o͓̠̅r̪ͧ̀l̜̏̿d͕̭ͭ 1̲̈̑2͖̻ͨ3̒ͧͅ
15 characters (graphemes) · 54 Unicode code points · 54 UTF-16 units
Compatibility: partial, inferred from Unicode properties and font dependencies. No app or device test is implied.
Zalgo Text
Zalgo stacks combining marks above and below base characters to create a glitch effect. The intensity control changes the number of added marks.
| Style | Generated sample |
|---|---|
| Zalgo / Glitch | H͖̬ͮe̺͂ͩl̜̏̿l̜̏̿o͓̠̅ 1̲̈̑2͖̻ͨ3̒ͧͅ |
| Wavy / Tilde | H̃ẽl̃l̃õ 1̃2̃3̃ |
| Dots Above | Ḧël̈l̈ö 1̈2̈3̈ |
Light, Medium and Heavy
Light adds one mark per eligible base character. Medium adds three; Heavy adds eight. Choices are deterministic, so the same text and intensity produce the same result. Spaces and control characters are preserved. Existing accents are retained, so an already accented character can have additional marks beyond these counts.
Layout and Accessibility
Marks can overlap adjacent lines, be clipped, or be rejected by a destination field. Heavy is a creative effect, not a guarantee of readable text. Use plain text for instructions, names and anything a reader must understand. An editor slowing down on a long sequence is a reason to shorten the text, not to send more marks.
Can the Effect Be Undone?
Keep a plain original. Removing all combining marks can also remove meaningful accents from the original language. Unicode normalization alone does not mean “remove Zalgo.” Start from the saved original when you need an accurate clean copy.
A Repeatable A Sample at Each Intensity
The same capital A receives the same ordered marks each time it is converted at a given intensity. The table lists only the marks appended to that base, in output order:
| Intensity | Marks after A |
|---|---|
| Light | U+0312 |
| Medium | U+0312 + U+0365 + U+031C |
| Heavy | U+0312 + U+0365 + U+031C + U+0356 + U+030C + U+0330 + U+036A + U+0354 |
For the input A A, Light produces five code points, Medium nine, and Heavy nineteen. Each result still has three grapheme clusters in the local counter. The middle ordinary space receives no marks, and the two copies of A receive matching sequences.
The other selector options are simpler: Wavy / Tilde appends U+0303, while Dots Above appends U+0308. They each add one fixed mark instead of choosing an intensity-dependent stack. Digits and punctuation also receive decoration, whereas tabs and line breaks remain unchanged. The guide to Unicode combining effects and stored characters explains why the visible letter count can stay small as the stored sequence grows.
Before You Paste
Start with Light and a short phrase, because stacked Zalgo marks can overlap neighboring lines or be clipped by the destination field.