Zalgo Text Generator
Add creepy combining marks to make glitchy Zalgo text.
5
Zalgo Output
z̭̜̠̐a̷̘̦̮̠̱̬͗͋̅ľ̦̄̉̎g̸̙̭̻̩̝̿̈̌̆̑o̙̲͊̈̏̄
Output Length: 41Base Characters: 5
What is Zalgo text?
Zalgo text stacks Unicode combining diacritical marks on top of, in the middle of, and below ordinary letters, producing a chaotic, glitchy, “cursed” look. Because the marks are real Unicode characters, the effect survives copy-paste into chats, social bios, and usernames. Crank the intensity for more dripping marks, or toggle the zones for a subtler distortion. Generation is fully client-side.
Built and maintained by Meet Shah · Last updated
What this tool is used for
- Producing a deliberately glitchy effect for a game or a horror aesthetic.
- Testing how a field and a layout handle stacked combining marks.
- Checking whether an input sanitiser limits combining characters.
- Producing a stress-test string for a text renderer.
- Making a short decorative phrase for an artwork.
Frequently Asked Questions
- How does Zalgo text work?
- By stacking combining diacritical marks (U+0300-036F) onto each base character. Unicode places no limit on how many combining marks may follow one base, so the glyphs pile vertically and overflow their line.
- Why does it break page layout?
- Because the marks render outside the line box while the browser still measures only the base character's height. The text therefore overlaps whatever is above and below, which is the effect — and the reason many sites strip it.
- Is it a denial-of-service risk?
- It has been. Extreme combining sequences have crashed text-rendering engines in the past, and are still a performance problem. Most platforms now cap the number of combining marks they will render per base character.
- How do I remove it?
- Normalise to NFC and then strip the Combining Diacritical Marks range, or simply remove all \p{M} characters. Note this also removes legitimate accents, so restrict the range if the text may contain real diacritics.
- Why is it called Zalgo?
- From a 2004 internet horror meme in which corrupted text signalled a malevolent entity. The name stuck to the technique, which predates the meme as a straightforward consequence of how combining marks work.
- How many combining marks can one character take?
- There is no limit in Unicode itself, which is the root of the problem — implementations impose their own caps, and a string with hundreds of marks per base character is what makes renderers struggle.
- Does it affect string length and storage?
- Substantially. Each combining mark is a separate code point, so a short-looking phrase can be thousands of characters and overflow a database column or a message limit while appearing to be one line.
- Which normalisation form removes it?
- None reliably — NFC composes some marks into precomposed characters but leaves the rest. Stripping the combining diacritical ranges directly is what actually cleans it, which is a filter rather than a normalisation.
Common errors and gotchas
- Using it in shared content, where the marks overflow their line and break surrounding layout.
- Assuming a length limit protects you, since each visible character can carry many code points.
- Using it where a screen reader will attempt to announce every combining mark.
- Expecting it to survive normalisation, which strips or reorders the marks.
- Posting it in a channel where it is read as an attack on the layout rather than a style.
Related Text Tools tools
Case Converter
Convert between Sentence, Title, camelCase, snake_case, and more.
Word Counter
Count words, characters, and analyze keyword density.
Text to Binary
Convert text into its 8-bit binary representation.
Binary to Text
Decode 8-bit binary back into readable text.
Text Reverser
Reverse text by characters, words, or lines.
Remove Duplicate Lines
Delete repeated lines and keep your list unique.
Remove Empty Lines
Strip blank and whitespace-only lines from text.
Sort Lines Alphabetically
Sort lines A–Z or Z–A, case-sensitive or not.