Zalgo text looks as if a font has escaped its line box:
Z̴̡̛̫̹̿a̵̡̳̋l̴̙̓g̶̤̈o̷̜̽
It is not an image and usually not a corrupt font. The effect comes from placing many combining marks after ordinary base characters.
What a combining mark does
Writing systems need accents, vowel signs, tone marks, cantillation marks, and other signs that relate to a neighboring character. Unicode encodes many of them as nonspacing combining marks.
Take é. It can be represented as:
- the single precomposed character U+00E9 LATIN SMALL LETTER E WITH ACUTE; or
- U+0065 LATIN SMALL LETTER E followed by U+0301 COMBINING ACUTE ACCENT.
The second code point modifies the first. A rendering engine positions the accent above the base without advancing the cursor by a normal character width.
Zalgo generators exploit that mechanism by adding far more marks than normal spelling requires—above, below, and through every letter.
Why marks can stack so dramatically
Combining characters carry a canonical combining class that helps determine their ordering around a base. Fonts provide anchors and positioning data for common combinations. When a sequence is unusual or extremely long, the renderer improvises.
One font may stack marks neatly. Another may let them collide, overlap nearby lines, or extend outside a button. The text itself is still a valid sequence, but its layout was not designed for dozens of accents on one letter.
This is also why the effect varies between browsers and operating systems. Unicode identifies the characters and their properties; fonts determine the exact drawings and attachment points.
Normalization does not mean “remove accents”
Unicode normalization makes equivalent text sequences easier to compare. NFC may compose a base and accent into a precomposed character where one exists. NFD decomposes many precomposed characters into base-plus-mark sequences. Both also put combining marks into canonical order.
Neither process is a general Zalgo cleaner. Most extreme combinations have no precomposed equivalent, and the marks remain meaningful encoded characters after normalization.
A product that wants a “plain text” option must make a separate editorial choice: which marks are language, which are decoration, and which should be removed? Blindly deleting every mark can damage Vietnamese, Arabic, Hebrew, Indic scripts, and many other languages.
One visual letter can contain many code points
Unicode text segmentation normally keeps a base and its following combining marks in one extended grapheme cluster. That lets a cursor move across é as a unit even when two code points encode it.
Zalgo pushes the same rule to an extreme. A single apparent letter may contain ten, twenty, or more code points. This causes surprises in:
- database length limits;
- SMS and notification truncation;
- cursor movement and selection;
- line height and clipping;
- search and moderation systems;
- screen-reader output.
Counting what the user sees is not the same as counting what the computer stores.
Decorative effect, legitimate infrastructure
Combining marks are not “bad characters.” They are essential to digital writing. The glitch effect works precisely because Unicode and modern shaping systems support complex scripts instead of assuming that every visible unit is one English letter.
The risk comes from context and quantity. Large stacks can make interfaces unreadable, create enormous line boxes, or hide differences that automated systems still process. Research on imperceptible Unicode perturbations has shown that invisible characters, combining behavior, homoglyphs, and reordering can also confuse language-processing systems.
Use it without breaking the page
For decorative posts:
- keep the effect to a short title or one word;
- use a low or medium intensity;
- preview it in the destination app;
- provide a plain-text version when the words matter;
- avoid account handles, links, email addresses, and safety information.
For product interfaces, limit input length by both code points and grapheme clusters, constrain overflow, and test unusually long combining sequences. Do not treat “looks short” as “is cheap to store and render.”
Zalgo text is typography by accumulation: the base letters stay ordinary while real Unicode marks pile into an extraordinary shape.
The glitch text generator lets you control how many marks are added. Start gently, then inspect the result above before using the strongest setting.