Skip to content
Toolcroft

Text Tools

Zalgo Text Generator - Creepy Glitchy Text

Generate creepy Zalgo text with Unicode combining characters stacked above and below each letter. Adjust the intensity for mild to maximum chaos.

Text size:

What is Zalgo text?

Zalgo text creates a "glitching" or "corrupted" appearance by stacking Unicode combining diacritical marks above, below, and through characters. Combining diacritics (Unicode block U+0300–U+036F) are normally used for accents (like é = e + U+0301). Zalgo text stacks dozens of them on a single character.

The Zalgo meme

The "Zalgo" aesthetic originated in internet horror (creepypasta) culture around 2004, associated with distorted, eldritch imagery. The name comes from a meme created by Dave Kelly. Zalgo text became a way to make writing visually "corrupted" as a stylistic choice.

Technical note

Each visible character in Zalgo text may consist of 20–100+ Unicode code points. This can cause rendering issues in older software and inflates character counts - a single Zalgo "character" may consume many bytes in UTF-8.

Unicode combining character blocks

Zalgo text draws from three Unicode blocks of combining characters:

  • Combining Diacritical Marks (U+0300–U+036F): 112 characters. The core block used for accents in normal text (grave, acute, circumflex, etc.). Zalgo text stacks these in bulk to create the vertical overflow effect.
  • Combining Diacritical Marks Supplement (U+1DC0–U+1DFF): additional combining marks not covered by the base block. Used in phonetic and linguistic notation but also available for Zalgo stacking.
  • Combining Half Marks (U+FE20–U+FE2F): ligature-related combining marks that span across character boundaries, contributing to the horizontal "bleeding" effect seen at higher Zalgo intensities.

Platform rendering differences

Zalgo text renders very differently across platforms - test before using it anywhere important:

  • Discord: renders moderately well; clips combining marks at the line-height boundary rather than overflowing into adjacent lines.
  • Twitter / X: clips vertical overflow at line height, so high-intensity Zalgo looks similar to medium-intensity on most displays.
  • Terminal emulators: behaviour varies widely. Some terminals crash or freeze when rendering very long combining character sequences. Test in a safe environment before pasting into a terminal.
  • PDF renderers: many PDF engines (including some versions of Adobe Reader) can corrupt text adjacent to high-density combining character sequences.

How to clean Zalgo text

To strip Zalgo combining characters from a string in JavaScript, use a regular expression targeting the three Unicode blocks:

      // Remove all Zalgo combining diacritical marks
const cleaned = zalgoString.replace(/[\u0300-\u036f\u1dc0-\u1dff\ufe20-\ufe2f]/g, '');
    

This one-liner is safe to use in production for sanitising user-generated content. It will not affect normal accented characters like é or ñ because those are stored as precomposed Unicode characters (single code points), not as combining sequences.