Skip to content

Zalgo Text Generator (Glitch Text to Copy and Paste)

Type your text, set the intensity and copy the glitched result. The same text, settings and variation number always give the same output, and a second mode removes zalgo marks again.

Runs in your browserFree, no sign-upLast reviewed

Settings

The most marks stacked above and below each character.

The seed. Same text, settings and number give the same result; change it for a new pattern.

Results update automatically as you type.

Zalgo text

Z̧͇̬͚̀͂ͯa̢̯̘̾̆l̛̳͍ͤ̍g̷͇̭̉͑ọ̧̝ͯ̋ͤ ṭ̵͚͇͊̆̌e͕͎͖̎͒͘x̸͖̼̞́ͩt̨̫̦ͭ̆ͮ

What was added

Characters marked
9
Marks added
53
22 above, 9 middle, 22 below
Length before
10 characters
Length after
63 characters
every mark counts as one
Size in UTF-8
116 bytes
Variation number
1

How it will look elsewhere. Each mark is a separate Unicode character, so the result counts for far more of a length limit than it looks. Apps differ in how tall a stack they draw, and some remove combining marks completely. Screen readers handle zalgo text badly, so keep it out of anything people need to read.

Quick answers

What is zalgo text?
Zalgo text is ordinary text with many Unicode combining marks stacked on each letter. The marks are real characters such as U+0300 (grave accent) and U+0336 (long stroke overlay) that attach to the letter before them, so the letters look corrupted while the underlying text stays the same.
How do I make glitch text?
Type your text, choose an intensity from 1 to 10 and copy the result. At intensity 3 with all three positions ticked, each character gets 5 to 7 marks. At 10 it gets 11 to 24, which produces the tall, dripping look.
How do I remove zalgo text?
Paste the text and set Mode to Remove zalgo marks (keep accented letters). Every combining mark is deleted and the plain letters remain. If stray accents are left on the letters, switch to Remove zalgo marks and all accents.
What are combining characters?
Combining characters are Unicode characters that modify the character before them instead of taking their own space. They exist to build accented letters, such as e followed by U+0301 for é. Unicode sets no limit on how many can follow one letter, which is what zalgo text exploits.
Is zalgo text a font?
No. Nothing about the font changes. Each letter is followed by extra Unicode characters, so the effect travels with the text when you copy it. How tall the stacks look depends on the app and font that display it.
Does zalgo text count towards a character limit?
Yes, heavily. Every mark is a character of its own. The 10-character phrase Zalgo text becomes 63 characters at intensity 3 and 167 at intensity 10, so a short message can exceed a length limit.

How Zalgo Text Generator works

This zalgo text generator makes glitchy, cursed-looking text by adding Unicode combining marks to every character you type. A combining mark is a character with no width of its own that attaches to the letter before it; stack enough of them and the text spills above and below its line. You choose where the marks go (above, through the middle, below) and an intensity from 1 to 10, and the result updates as you type. The marks are picked by a seeded generator, so a given text, setting and variation number always produces exactly the same output. Two further modes strip the marks off pasted zalgo text. The output is plain Unicode, not a font or an image, so it can be pasted anywhere that keeps combining characters.

Zalgo text examples at different intensities

Real output from the tool. Enter the same text, settings and variation number and you get the same characters, because the marks are chosen by a seeded generator.

Light: intensity 1

Your text: Zalgo text. Intensity 1. All three positions ticked. Variation number 1.

Z̤̀͘a̯͛͘l̡̘̓g̢̬ͤo̢̱ͦ t̨͚̉ȩ̣ͤx̡̗͛t̫ͩ͘

27 marks added (9 above, 9 middle, 9 below). 10 characters become 37; 64 bytes in UTF-8.

The default: intensity 3

Your text: Zalgo text. Intensity 3. All three positions ticked. Variation number 1.

Z̧͇̬͚̀͂ͯa̢̯̘̾̆l̛̳͍ͤ̍g̷͇̭̉͑ọ̧̝ͯ̋ͤ ṭ̵͚͇͊̆̌e͕͎͖̎͒͘x̸͖̼̞́ͩt̨̫̦ͭ̆ͮ

53 marks added (22 above, 9 middle, 22 below). 10 characters become 63; 116 bytes.

Heavy: intensity 10

Your text: Zalgo text. Intensity 10. All three positions ticked. Variation number 1.

Z̴̴̡̨̞̯̘̫͈̥̀͂ͯͮ̍͌͛̔â̵̷̢̭͉͚̣͈̝̦̬̣̔͋ͦ̎̉l̸̢̫̥̻͙͖̼͕͎͖͛͊̆̌̂͘ǵ̶̶̡͚̞̫̜̫ͩ̎ͪ̿͘o̡̧̥̝̺̱̦̜̝̘̥̻͑̿͂̃ͦͩ t̢̛̛͇͓̙̣͓͍̅̿͂̊ͦ̌ͯͭ͘e̵̶̢̨̟̤͖͙̞̦̊̄̇̓͆̍ͪ̎ͫx̸̴̧̨̩̣̰͈͉̗̠̹̺́ͥ̒̋̇ṯ̵̛̲̺̜̘͍̝̼̤̺̏̔ͩ͑̑

157 marks added (57 above, 30 middle, 70 below). 10 characters become 167; 324 bytes.

Marks above only

Your text: Hello. Intensity 4. Only Marks above ticked. Variation number 1.

H̀͂ͯe̍͌͛̔l̾̆̓̚l̇̾o̒ͤ

15 marks added, all above. The baseline stays clean, which keeps the text easier to read.

A different variation of the same text

Your text: Hello. Intensity 3. All three positions ticked. Variation number 2.

H̵̩͉̏̍͂e̸̝̻̪ͥ̉ĺ̢͖̭ͫ̂l̛̙̘͙ͯ̋̽ò̴̻̘ͯ̃

31 marks added. Variation number 1 with the same settings gives a different pattern with 28 marks.

Cleaning zalgo text

Mode: Remove zalgo marks (keep accented letters). Your text: the phrase Café naïve after zalgo at intensity 6.

Café naïve

101 marks removed; 111 characters became 10. The é and ï survive because they are single precomposed letters.

Marks per character at each intensity

Intensity sets how many marks are stacked on each character. The number is random within a range, chosen separately for each character and position. The last column is the total with all three positions ticked.

IntensityMarks aboveMarks through the middleMarks belowTotal per character
11113
21 to 211 to 23 to 5
32 to 312 to 35 to 7
42 to 41 to 22 to 45 to 10
53 to 51 to 23 to 57 to 12
63 to 61 to 23 to 67 to 14
74 to 71 to 34 to 79 to 17
84 to 81 to 34 to 89 to 19
95 to 91 to 35 to 911 to 21
105 to 101 to 45 to 1011 to 24

Spaces and line breaks get no marks. Each mark adds 1 to the character count and 2 bytes in UTF-8.

How the number of marks is worked out

above = random whole number from ceil(intensity / 2) to intensity; below = the same range; middle = random whole number from 1 to ceil(intensity / 3)

ceil means round up. For each character the generator draws a count for every ticked position, then picks that many marks at random from the set for that position: 48 marks that sit above, 11 that run through or hook onto the letter, and 39 that sit below, 98 in all. They all come from the Combining Diacritical Marks block, U+0300 to U+036F. The random numbers come from a seeded generator (mulberry32) started from the Variation number, which is why the output is repeatable. It is a visual effect, not encryption: anyone can strip the marks and read the text.

What is inside a zalgo character

The two letters Hi at intensity 2, variation number 1, come out as these ten code points. The letters H and i are untouched; everything else is a combining mark attached to the letter before it.

Code pointUnicode namePosition
U+0048Latin capital letter HThe letter
U+0300Combining grave accentAbove
U+0342Combining Greek perispomeniAbove
U+0358Combining dot above rightMiddle
U+0333Combining double low lineBelow
U+0069Latin small letter iThe letter
U+0314Combining reversed comma aboveAbove
U+036FCombining Latin small letter xAbove
U+0334Combining tilde overlayMiddle
U+032BCombining inverted double arch belowBelow

The tool reports this as 2 characters marked, 8 marks added, 10 characters and 18 bytes in UTF-8.

Why zalgo text looks different from app to app

Unicode says what the marks are, not how high a pile of them should be drawn. That is left to the text engine and the font, so the same string looks different in different places.

Some apps draw the whole stack and let it run over the lines above and below. Others clip everything to the height of the line, so only the first few marks show. Some limit the number of combining marks per letter or delete them all, usually to stop messages from covering their neighbours. A few fonts have no glyphs for the rarer marks and show boxes instead. None of this can be controlled from the text itself, and apps change their handling over time, so paste and look before relying on it.

There is also a cleaning problem that this tool handles in two ways. Some apps normalise text, which merges the first mark into its letter: a followed by a combining grave becomes the single letter à. The mode Remove zalgo marks (keep accented letters) deletes every separate combining mark but cannot tell a merged mark from a genuine accent, so it leaves both. Remove zalgo marks and all accents splits every letter first and then deletes the marks, which clears the leftovers but also turns é into e.

Limits and cautions

  • One Intensity setting covers all three positions. You can switch a position off but cannot give above and below different strengths.
  • Input is limited to 5,000 characters, because the output is many times longer than the input.
  • The marks are taken from U+0300 to U+036F only. The cleaning modes also remove marks from the other combining-mark blocks (U+0483 to U+0489, U+1AB0 to U+1AFF, U+1DC0 to U+1DFF, U+20D0 to U+20FF and U+FE20 to U+FE2F).
  • Cleaning removes accents that are stored as separate marks, as some Mac file names and Vietnamese text are. Letters stored as single precomposed characters are kept in the first cleaning mode.
  • Screen readers may read zalgo text mark by mark or skip it, and search will not match it. Do not use it for anything people must be able to read, such as names on forms, alt text or instructions.
  • Heavy zalgo can cover nearby messages. Many communities treat that as spam, and moderators may remove it.

Step by step

  1. 1

    Type or paste into Your text. Leave Mode on Add zalgo marks.

  2. 2

    Drag Intensity between 1 (a light scatter) and 10 (tall stacks).

  3. 3

    Tick or untick Marks above, Marks through the middle and Marks below to choose where the marks go.

  4. 4

    Change Variation number if you want a different pattern at the same intensity.

  5. 5

    Press Copy on the Zalgo text panel and paste it where you need it.

  6. 6

    To clean text instead, paste it and set Mode to Remove zalgo marks (keep accented letters).

Answers to common questions

Where does the name zalgo come from?
From an internet horror meme of the 2000s in which familiar comic strips were edited to look corrupted, with text that bled out of its speech bubbles. The stacked-marks style used to imitate that look in plain text took the same name.
Is glitch text the same as zalgo text?
In most generators, yes: glitch, cursed, creepy and corrupted text are all names for letters carrying stacked combining marks. Some glitch styles use only marks that cut through the letters; untick Marks above and Marks below here for a similar, lighter effect.
Why do I get the same result every time?
Because the marks are chosen by a seeded pseudo-random generator, not by a fresh random source. The Variation number is the seed. Keep it and the output is repeatable; change it to any whole number from 1 to 4,294,967,295 for another pattern.
Does it work with emoji and non-English letters?
Yes for any script: marks are added after each character whatever alphabet it is in. Emoji are kept whole, so a family emoji, a flag or an emoji with a skin tone gets its marks after the complete sequence. Many apps do not draw marks on emoji at all.
Can zalgo text break a website or app?
It cannot run code or damage anything. It can make a page look broken by drawing over neighbouring lines, and very long stacks can slow down text layout. That is why some apps cap or strip combining marks.
Can I use zalgo text in a username?
Sometimes in a display name, rarely in a username. Many services restrict usernames to plain letters and digits, and others strip or limit combining marks. The rules vary by service and change, so test it on the one you use.
How is this different from the Fancy Text Generator?
The Fancy Text Generator swaps each letter for a different Unicode letter that looks bold, cursive or gothic, and can add a single strike-through or underline. This tool keeps your original letters and piles random combining marks on them, and can remove such marks.
Is my text sent anywhere?
No. The marks are added and removed in your browser. Nothing you type is uploaded or stored.

Looking for something else? Browse all text tools or see every tool.