Skip to content

Zalgo text generator

Type your text and bury it under marks that climb above the line and drip below it. Tap the result to copy it, then paste it almost anywhere.

10 letters, 62 marks, 73 characters
  • X post fits
  • Instagram bio fits
  • TikTok bio fits
  • Twitch chat fits
  • Discord name 41 over
  • Discord message fits
Strength
Shape

Light and Medium stay readable almost anywhere. Heavy and Chaos cover the lines around them.

Zalgo styles to copy

Light glitch

39 chars

Cursed

117 chars

Drip

82 chars

Rising

81 chars

Scratched

55 chars

Whisper

35 chars

Growing

73 chars

Fading

85 chars

Wave

76 chars

Flicker

44 chars

Tap a style to copy it. Use these settings puts its strength and shape on the sliders above, so you can fine tune it.

More ways to break your text

Zalgo goes well with these. Each card links to the tool it comes from.

Strikethrough

More marks
Advertisement
A big letter Z with a tall pile of small marks rising above it and dripping below it

Last checked by the TextEditor.com team

How to make Zalgo text

  1. TypeType or paste your text in the box at the top of this page.
  2. Pick a strengthChoose Light, Medium, Heavy or Chaos, or move the sliders.
  3. Copy and pasteTap the result to copy it. Paste it in your post, bio or chat.

Above, Through and Below set the most marks one letter can get in each spot. Every letter gets a random number up to that limit, so no two letters look the same. Press New random mix for a fresh pick of marks.

Growing starts clean and gets wilder toward the end. Fading does the opposite. Leave some letters clean skips about one letter in three, so the text looks like it is breaking up.

Zalgo text examples to copy

Here are the classic Zalgo lines and a few that people often ask for, each in a different style.

StyleTextCopy
CursedH̸̹̥̼̰̪̻ͨͤ̂̓̏e̸͈͉͙̹̳̗͛ͤͨ c̷͚͍͍͓̦̈͛̌ȏ̴͔͙̹͍̃ͨ̀m̵̧̩͓͉͕̬̑̆ͮͣͮe̸͖̬̬̬̦̊ͥ̑ͧ̅ͬs̶̯͓̫͌̽̿
DripH̢͉͓̰̫̖e̡͈͓̤̜̻̮ ẉ̨̣̹̱̮a̢͔͓̣̬i͇͍̝̫͕͔̹͍͇t̡̗̫͇̹s̻̻͔̳̺ b̢̧̰̻͚̤̠e͍͇̠̪͈ḥ̡̝̮̹̻̯̭i̡̝͕̪̙̠͎̲̳n̢̡͈̦̰̙̗̝d͈̞̮̝̗̞̭ t̰͔̼̹̳ḩ̧̱̠̩̺̱̻̘e̜̘̥͎͖̼̰ w̞̲̞̥͚̱̩͈͕a̫̟̤̱̣̫̙̻l̲̲̥͚̖̗̘̬ļ̨̦̱̳̝
GrowingH̖ͤa̱ͧp̡͍ͮ̎p̙͐͋y̰̯̲ͨ̊ Ḩ̻͔͒̓͗a̶̞͕͔͕͊͋̅̒l̵̳̭ͪ̑̍l̷͍͚̘̰̼̓ͦͤo̷̧̡͙͍͚ͪ̃̂̀ͦŵ̶̖̩̭̘̱͇͆̽ͨe̷͍̘̟̱̖ͭ̋̋ͩͨ̉ȩ̸̞̫̼͓ͭͯ̆̆n̸̢̘̩̪͕̥̎͗͐̑̔̑̋
ScratchedE̵̴̱̿r̸̵̠̅r̶̵̴̠̍ō̶̵̱r̵̸̶̳̿ 4̸̶̸̳̍0̵̵̶̠̎4̵̴̵̱̄
FadingD̵̡͓̲͓̱̗̿ͣͪ̒o̸̡͔̟̹͚̊ͥ̊ͦ͌̀ n̴̰̮͇̟̥̆̈ͭȯ̴̡͔̟͋̅͊͋̉t̴͚̘͙͓̳͆͛̉ l̸̬̤̼̉͐́ͤ̀o̶̬̝̼̩͊ͫͬ̐o̵̙̪̲̱̳ͫͮ̓ͯ̊k̵̮͖̻̜ͭͭ b̵̘͉̪̠̒̇e̷͉̺̦̎͊h̡̩͆ͭi̭̫͇ͨ̅̊n̞̣͆̎d̩̘͋͆ y̨͑ȯ͖u͓͑
RisingHͭ̋̇ͧͩ͋ͮͥ̉e̐̄ͭ̃ͪͭͪlͮͯ̆̎̅̋p̊̀͆́̅͗̋̊̑ mͪ̉̂ͮ̍eͨ̇ͦͧ͌ͣ̏͌
Light glitchȞ̨̤̀ȩ̨̌l̰̱̂̊ļ̤̇ö̮ ẗ̨h̤̱̃̃ḙ̦́̂ṛ̨́̂e̦̋̀

Where the name Zalgo comes from

Zalgo started in comic strips, not in text. In 2004, an artist who posted as Shmorky on the Something Awful forums edited old Nancy and Archie strips into creepy ones. Two of them named a dark being called Zalgo.

Other forum users made their own edits of comics like Garfield, with characters bleeding from the eyes. Zalgo became a force that ruins everything it touches. The broken text came later, when people wrote Zalgo warnings in letters that seem to melt. The Wikipedia article on Zalgo text has more of the story.

How Zalgo grew
  1. July 2004Shmorky puts the first Zalgo comics online on July 27.
  2. Early 2009The meme spreads to 4chan and Reddit. Urban Dictionary gets its first Zalgo entry in February.
  3. August 2009Shmorky writes that the name was made up and that Zalgo has nothing to do with the horror writer H. P. Lovecraft.
  4. November 2009A Stack Overflow answer about reading HTML with regular expressions melts into Zalgo text halfway through.

That answer warns that parsing HTML with regular expressions will drive you mad. As it goes on, the letters fall apart until the text says "he comes". Programmers still share the original answer on Stack Overflow whenever someone asks the same question.

How Zalgo text works

Zalgo text is plain text. Each letter is followed by a pile of combining marks. A combining mark has no width of its own. It is drawn on, through or under the character before it, the way the accent sits on é.

Most Zalgo marks come from one Unicode block, Combining Diacritical Marks, from U+0300 to U+036F. It holds 112 marks: accents, lines, dots, hooks and even tiny letters, like the small e on top of uͤ. The strikethrough and underline generator uses single marks from the same block for neater effects.

Paste any Zalgo text in the inspector to see how it is built. Tap a letter to list its marks.

Zalgo inspector

    Up arrows count marks above the letter, down arrows marks below it, and the dot counts marks that go through.

    A heavy line holds far more marks than letters. The word Zalgo at the Chaos setting has 5 letters and about 100 marks.

    Why Zalgo text spills over other lines

    Every line of text gets a fixed height from the font. Marks above and below a letter do not make the line taller. They are drawn outside it, right over the lines above and below.

    Web pages usually let the marks spill. Most chat apps put each message in its own box and cut off what sticks out, so the same Zalgo looks shorter there. Switch between the two below.

    Web page or chat app

    Did you see the new episode last night?

    H̴͕̱̭̺́͛̾̅ͨͪê̵̡̝̠̖͍̅̃̓̿ͮ c̶̱̩̝̥̰̖͖̽͌̍̋͌̌ǫ̵̨͎̩̰̤͇ͫ̾ͧ̎m̶̧̬̲̲̫̏̽͑͊ͧ̿e̵̲̘̫͍̺̅́̒̎s̷̗̩̖͍͌̎ͧ͆ͯ̍

    Okay, that is creepy. Stop it.

    Marks sets how many marks each letter gets. Spacing is the line height. More space keeps a light Zalgo line off its neighbors, but heavy Zalgo needs more room than any normal line has.

    For a few spooky letters that stay readable, use Light or Medium. Save Chaos for places where covering the text around it is the joke.

    Advertisement

    How much Zalgo fits: character limits

    Every mark counts as a character. X, for example, counts each mark as one character, just like a letter. At the Medium setting one letter with its marks takes about 7 characters, so Zalgo uses up limits fast.

    WhereLimitZalgo letters that fit
    Discord display name32About 4
    TikTok bio80About 11
    Instagram bio150About 21
    X post280About 40
    Twitch chat message500About 71
    Discord message2,000About 285
    YouTube comment10,000About 1,428

    The last column follows the settings in the tool at the top: about 7 characters per letter.

    Some apps also limit how many marks one letter can carry, or remove them all. Unicode suggests a limit of its own: its stream safe text format allows no more than 30 marks in a row. Longer chains are often cut short when you post.

    Is Zalgo text safe?

    Yes. Zalgo text is only characters, so it cannot run code or carry a virus. The worst it can do is cover other text and make a page hard to read.

    Very long chains have caused trouble before. Some versions of Apple's Messages app crashed when they had to draw Zalgo text. Apps handle it much better now, but many forums, games and chat apps still limit it to keep pages readable.

    Screen readers get every mark as its own character. Some read each mark out by name, others skip them. Keep Zalgo away from names, buttons and anything people need to read, and give the plain words too when it matters.

    How to remove Zalgo text

    Paste the text below. The cleaner removes the marks and keeps the letters.

    Zalgo remover
    Cleaned

    Café at midnight

    Keep sets how many marks each letter may keep. At 0 every mark goes. At 1 or 2 the text still looks a little glitchy but stays readable.

    The cleaner works in two steps. First it joins each letter with its accent where Unicode has one character for the pair, a step called NFC. That is why é and ñ survive. Then it removes the marks that are left, but only marks from the blocks Zalgo uses. Hindi, Arabic and other scripts that need marks for their vowels stay intact.

    Zalgo text in code

    Developers can make Zalgo text with a few lines of JavaScript. This adds up to three random marks from U+0300 to U+036F to each letter:

    const marks = Array.from({ length: 112 }, (_, i) => String.fromCodePoint(0x300 + i));
    const pick = () => marks[Math.random() * marks.length | 0];
    const zalgo = text => [...text].map(c => c + Array.from({ length: Math.random() * 4 | 0 }, pick).join("")).join("");

    To clean it up, or to cap it at a few marks per letter in a comment box:

    const clean = text => text.normalize("NFC").replace(/[̀-ͯ]/g, "");
    const tame = text => text.replace(/(\p{M}{3})\p{M}+/gu, "$1");

    The second line keeps the first three marks on every letter and drops the rest, so normal accents still work.

    Frequently asked questions

    What is Zalgo text?

    Zalgo text is normal text with many combining marks stacked above, through and below each letter. It looks glitchy and creepy. People also call it cursed text or glitch text.

    Is Zalgo a font?

    No. A font changes how letters are drawn. Zalgo adds extra characters after each letter, so it keeps its look when you paste it into another app, whatever font that app uses.

    How do I type Zalgo text on my phone?

    Phone keyboards have no Zalgo key. Make it on this page, tap the result to copy it and paste it where you want it. It works the same on iPhone and Android.

    Why does Zalgo text look smaller in my chat app?

    Most chat apps put each message in a box and cut off what sticks out of it. The marks are still there. Lower the Above and Below sliders, so more of the effect shows.

    Can I use Zalgo text in my Discord name?

    Discord display names allow 32 characters, and every mark counts. That is about 4 letters at the Medium setting. Try Light, or put Zalgo on just one or two letters. The Discord fonts page shows which fancy letters work in names and which ones don't.

    Can Zalgo text crash a phone?

    Today that is rare. Some older versions of Apple's Messages app crashed on Zalgo text, and many apps now limit how many marks a letter can have.

    What does "He comes" mean?

    It is a line from the Zalgo meme. People wrote it in melting letters to warn that Zalgo is on the way. Another classic line is "He waits behind the wall".

    How do I remove Zalgo text?

    Paste it in the box at the top and press Remove Zalgo, or use the Zalgo remover further down this page. Letters like é and ñ keep their accents.

    • MarksCopy check marks, ticks, check boxes, crosses and bullet points.
    • Font converterSee which Unicode block each letter style comes from: math letters, small caps, Cyrillic or Greek look alikes.
    • All text facesCopy text faces and kaomoji for any mood: happy, love, shrug, table flip, Lenny and more.
    • EvilCopy evil and devil text faces: evil eyes (◣_◢), little devils with pitchforks, vampires and plotting faces.
    • Discord fontsFancy fonts for Discord names, bios and messages, plus the real Discord markdown for bold, italic, spoilers and headings.
    • Invisible characterCopy an invisible character or blank space for empty names and messages.

    ↑ ↓ to choose, Enter to open, Esc to close