Internet & Memes
What Is Zalgo Text? The Cursed Glitch Letters Explained
The glitchy, possessed-looking text people call "cursed" — what it is, where it came from, and how to make your own.
Z̸a̵l̵g̷o̶ ̸t̸e̵x̷t̴ is the glitchy, almost vibrating writing style you have probably seen in horror memes, creepypasta, and YouTube thumbnails that want to look possessed. It is also sometimes called "cursed text" or "scary text". Unlike a special font, zalgo is built entirely out of regular Unicode characters — which is why you can copy and paste it.
This guide covers where the name comes from, how zalgo is made under the hood, why it sometimes breaks app layouts, and the etiquette of using it.
Where the name comes from
Zalgo is named after a creepypasta from the 2000s — a fictional entity supposedly summoned by glitched, corrupted text. The character became internet shorthand for "things have gone wrong in a horror-movie way", and the glitchy text style took the same name.
The look itself predates the name: scrambling words with combining diacritics was a typography parlor trick on usenet decades earlier. Zalgo just gave the effect a brand.
How it is actually made
Zalgo uses Unicode COMBINING MARKS — a class of characters specifically designed to stack on top of (or below or through) the previous letter. Most fonts come with a few dozen of these (acute, grave, tilde, circumflex, and so on, used in Spanish, French, Vietnamese, and many other languages).
Zalgo abuses them: instead of one combining mark per letter, the generator stacks five, ten, or twenty marks per letter, in random positions above and below. The result is a single visible letter wearing a chaotic crown of marks.
The underlying letters are still completely normal text, which is why you can paste zalgo into a chat box and the other side still receives "real" characters — they just render with the marks intact.
Why it sometimes breaks layout
Browsers reserve a fixed line-height for each line of text. A normal letter fits inside that line; a letter with twenty stacked marks above and below does not. So heavy zalgo can spill into the line above or below, push images around, or overlap with neighboring text. This is by design — the marks were never meant to be stacked this densely — and it is the visual chaos that makes zalgo look "wrong".
Some platforms detect and strip combining marks beyond a threshold (Discord and X have done this on and off) precisely because heavy zalgo can break their UI. If your zalgo seems to disappear when you paste it, that is what is happening — try a lighter intensity.
When to use it (and when not to)
Zalgo works for horror memes, creepy aesthetic posts, scary movie marketing, fake "glitching" effects in YouTube thumbnails, and TTRPG handouts where a corrupted scroll is showing up.
It does not work in places that strip combining marks (some chat apps), in serious copy where readability matters, or in usernames at sites that ban Unicode combining characters. And in accessibility terms, zalgo is a nightmare for screen readers — never use it for important content.
Frequently asked questions
What is zalgo text?
Zalgo text is normal letters with many Unicode combining diacritical marks stacked above, below, and through them, producing a glitched, possessed-looking effect. It is also called "cursed text" or "scary text". The result is real Unicode, so it can be copied and pasted.
Where does the name "zalgo" come from?
It comes from a 2000s creepypasta in which "Zalgo" is a fictional horror entity associated with corrupted text. The glitched-text aesthetic became permanently linked to that name.
Is zalgo text safe to use?
Yes — it is just Unicode, not malware. The only real risk is that very heavy zalgo can overflow line height and disrupt page layout, and some apps strip combining marks past a certain density. Start with mild zalgo if you want maximum compatibility.
How do I make zalgo text?
Use a cursed-text generator like ours: type your text and pick a strength (mild / heavy / extreme). The tool appends Unicode combining marks deterministically so the result is stable and copy-pasteable.