Letters that seem to drip and fall apart
You have probably seen it in a creepy caption or a glitchy username: letters that seem to drip, crawl or fall apart. The name comes from an internet horror meme.
Each letter is still a normal letter. The extra marks are stacked above, below or through it, and the font draws them on top of each other. That is why the text looks like it is dripping, crawling or breaking apart.
It is just text. It is not a font, an image or an animation, so you can copy it into a bio, a caption or a message. How it looks depends on the app and its font.
Combining marks, piled on each letter
Unicode has hundreds of combining marks: accents, dots, lines and small symbols that attach to the letter before them. A Zalgo generator adds several of them after each letter, so one letter can end up carrying a dozen marks or more.
More marks means a heavier effect. A few marks look like a light glitch, while many marks pile up and spill over the lines above and below. Some apps clip them, some let them run across the screen, and some drop them.
Not every added mark is visible. Some combining characters, such as U+034F COMBINING GRAPHEME JOINER, draw nothing at all. The number of marks you added is not the number of marks you can see.
Removing the effect is harder than it looks. Deleting every combining mark also removes real accents, so keep a plain copy of your original text.
Zalgo text is valid Unicode, but many sites limit characters or length and may reject or strip it, and screen readers can read it poorly.
Four examples and the exact marks behind them
- A̍̍: the letter A with two U+030D marks above it.
- A̖̖: the letter A with two U+0316 marks below it.
- A͏: the letter A with U+034F added. The extra character is there, but you cannot see it.
- á̍̍: the letter a keeps its own U+0301 accent, and two U+030D marks are added on top. Deleting every mark would remove the original accent too.
| Input and operation | Complete output | UTF-16 units and code points |
|---|---|---|
| A, two first above-bank entries | | 3: U+0041 U+030D U+030D |
| A, two first below-bank entries | | 3: U+0041 U+0316 U+0316 |
| A, one mixed-bank joiner | | 2: U+0041 U+034F |
| a plus existing accent, two first above entries | | 4: U+0061 U+0301 U+030D U+030D |
Where it fits and where it does not
- Spooky or glitchy captions, usernames and game text, where a creepy look is the goal.
- Showing how combining marks work, for example when teaching Unicode or text rendering.
- Testing how an app or a website handles heavy combining marks in a text field.
- Keep important information in ordinary text, because screen readers and some apps handle stacked marks badly.