Glitch Text Generator: Create Creepy, Cursed Zalgo Text

Type your text below, then pick a preset: Subtle, Classic, Cursed, full H̸E̶ ̷C̵O̸M̷E̸S̶ chaos, Tiny Stack, Extreme (up to 100 marks a letter), or the Thai Cascade side spike from the viral screenshots. Fine-tune character type, position, shape, frequency and amplitude, or the cascade’s depth and placement. The “Will it fit?” checker shows whether the result survives Discord, X and Instagram limits, and the built-in unzalgo decoder turns corrupted text back into clean text.

11/500

What is Glitch Text?

Glitch text is ordinary text layered with dozens of Unicode combining marks: special characters that attach to a base character instead of taking their own space. A single combining mark is normal: it's how accented letters like é or ñ are encoded in Unicode. Glitch text adds many combining marks per character, causing them to stack chaotically above and below the baseline and collide with adjacent lines.

The result looks glitchy, cursed, or corrupted, as if the text itself is falling apart. It's widely used in horror-themed posts, creepypasta, meme captions, Halloween content, and anywhere you want a "corrupted data" aesthetic.

Internet culture actually calls this effect Zalgo text, after a 2004 running gag by comics artist Dave Kelly, where wholesome newspaper strips like Nancy and Archie were "corrupted" by an eldritch entity called Zalgo, announced with the phrase "H̸e̴ ̷c̶o̵m̸e̶s̷". The meme took off around 2009 as "the Nezperdian hive-mind of chaos," and the stacked-diacritics look has carried the name ever since. "Glitch text" and "Zalgo text" describe the same effect, so this page uses both.

Tip for horror writers: set Shape to Slope Up and the corruption builds gradually across your sentence: clean at the start, unreadable by the end. It's the classic creepypasta "something is taking over this document" effect, and no slider-only generator can do it.

How This Generator Works

Characters controls which type of combining marks are used: bars (strikethrough-style), letters (superscript letter marks), symbols (enclosing/overlay marks), or noise (accent-style diacritics). "All" uses the full Unicode pool.

Position controls where marks attach: above, below, through the middle, or a combination. "Up & Down" gives the classic zalgo look with spires and roots but no strikethrough.

Shape controls how mark density varies across your text. Uniform applies even density everywhere. Slope Up starts clean and builds chaos. Wave oscillates. Pyramid peaks in the middle. Each shape creates a different visual rhythm.

Frequency is the probability that any given character receives marks at all. At 50%, roughly half your characters stay clean, which gives a "corruption spreading" look. At 100%, every character is affected.

Amplitude is how many marks stack on each affected character. At 1 it is a subtle accent, at 20 it is maximum classic chaos. The Extreme preset raises the budget to 100 marks per letter: the same marks and the same engine, so the decoder still reverses it, but most apps clip it at the line.

Combining marks vs. "double stack" text: The same Unicode marks behind zalgo also power the "double stack" or Leͥgeͣnͫd look, where a small letter sits on top of each character. That is zalgo with Characters set to Letters, Position Up, and Amplitude 1. For clean, readable top-to-bottom stacking instead of layered marks, use the Vertical & Stacked Text Generator.

Classic Zalgo vs. the Thai cascade

The tall spike running across the screen in viral screenshots is not zalgo turned up to maximum, and it is not the Extreme preset either. It is one Thai tone mark (Mai Tho, U+0E49, by default) repeated up to 150 times on one carrier letter, the Thai consonant ก. Classic zalgo scatters dozens of different marks around every letter; the cascade stacks the same mark on one.

Pick the Thai Cascade preset and the spike sits beside your text, which stays readable. Every character placement puts a stack on each letter instead, and Your text as the carrier hangs it off your first or last letter.

The same characters render differently by app: some draw a tall diagonal, some a straight column, some clip it at the line height. The shape is the renderer’s, not the tool’s. Every repeat counts as one character, so the default 80-mark spike is 82 characters with its space: too long for a 32-character Discord nickname, and nearly a third of a 280-character post on X.

The decoder below treats a repeated Thai mark as a stack and leaves single marks alone, so ordinary Thai words come back untouched.

What other zalgo generators can and cannot do

Most zalgo generators control one thing: how much corruption is added. This page also controls which marks are used, where they attach, and how the density changes across your text. That is why it has five control groups instead of one slider.

Capability UltraTextGen LingoJam Zalgo.io TextGlitchGenerator Five others checked
Intensity controlYes, 1 to 20, up to 100 in ExtremeYes, one sliderYes, 1 to 5Yes, 1 to 104 of 5
Marks above, through and below chosen separatelyYesNoYesNo1 of 5
Choice of mark family (bars, letters, symbols, noise)YesNoNo10 named styles0 of 5
Frequency separate from intensityYesNoNoNo0 of 5
Shape across the text (slope, wave, pyramid, steps)YesNoNoNo0 of 5
One-click presets7No4103 of 5
Regenerate for a new variationYesNoNo, same result each timeNo1 of 5
Decoder (unzalgo) beside the generatorYesNoYesNo0 of 5
Will-it-fit check against platform limitsYes, 4 limits, liveNoNoGuidance table only0 of 5
Share exact settings by linkYesNoNoNo0 of 5
Thai cascade (one mark repeated 10 to 150 times)YesNoNoNo0 of 5

Checked September 5, 2026 on each generator's live page. The five others are FontB, PrettyText, Piliapp, Convertxt and Nepeta, the 2009-style original. Zalgo.org and Namecheap block automated checks and are not scored.

Glitch Text Copy and Paste Examples

Need cursed text right now? Tap any card to copy it instantly. Every example below was made with this generator. Type your own text above and hit ↻ Regenerate for an endless supply of unique corruption, or pick Thai Cascade for the side spike in the last card.

H̵̻̲͚̪͖̏͋̾̈́̎̆͘ȅ̶̩̬̰̻͓͛̊̓̈́̒̚ c̸̫̝̱̲͙̾̍͗͆̿̏͞ó̸̧͙̳̻̦̆͗̇͘̕͞m̷̨̳͙͚̒̊́͂̈́͊͟͡e̴̗̥̺͕̞͑͛̈́̇̅̃͠s̷̢͚̺̥̠͊̈́̀́͡͞͝ He comes
Z̸̴̡̦̰̘̤̼̿̐̾̎̓͆̔̄͞Ḁ̵̸̞̬̲̦̻͊͆́̊̒̀̅̕͡L̷̶͙̞̠̤̲̝̈̔͋͌́̑͆̒̚Ģ̶̵̣͙̤͗́̒̏̓̾͊͟͜͞͠Ỏ̷̸͚͔̖̻͓͎͐̿̍͗̏̾͠͝ ZALGO
č̶͕̭̤̇̑͘ų̷̺̳͌͛̂͘r̴̨̜̲͊̊̂̋ş̷̜̍̆̀̕͢ḛ̴̮͕͗̽̆͘d̸͖͓̪̍̐̽͋ cursed
h̷͔̀́ẹ̷͋͠l̷͔̚̕l̶̞̊͐ȏ̵̩͞ hello
ņ̸̢̞͖̎͂̂̈́̌͞i̴̬̙̭̗͆̇͗̀̐̎g̶̨͎̩̫̓̎̓͑̅͞h̶̡͓̦̪͛̽̆͐̌̀t̴̢̙̝̯͆̎̂̐̚͞m̴͚͉̯̅̾̂͆̀̕͢ȧ̸̢̘̟̖̈̄̎̔͂ŕ̴̮̼̥̻͒̔̉̃̾ę̸̥̖͉̊̑̿̔̓͡ nightmare
g̸͕̩̓̈̑͘ĺ̶͕́̾͐͟i̵̠̳͒̋̑̎t̷̡̃̓̌͟͝c̵̱̐̽̒͡ͅh̷̻̖̄̽̔̏ glitch
ก้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ cascade cascade

Unzalgo: Remove Zalgo From Any Text

Most zalgo generators cannot reverse their own output. Of the eight checked on September 5, 2026, only Zalgo.io ships a cleaner beside its generator; this page does too, as a built-in unzalgo decoder. Paste corrupted text into the Decode Zalgo box above and it strips every Unicode combining mark, returning the original readable text instantly. No separate "zalgo remover" tool needed. A Thai cascade stack (one tone mark repeated) comes out too, and normal Thai text stays as it is.

Use it to read a cursed message someone sent you, clean up text before quoting it, recover something you over-corrupted, or, if you moderate a Discord server or forum, to see what a zalgo username or message actually says before acting on it. Because zalgo is just base characters plus combining marks, decoding is lossless: the original text is always recoverable. For the full explanation (and how moderators auto-filter zalgo), see how to remove zalgo text.

Where to Use Zalgo Text (and Where It Breaks)

Discord is zalgo's home turf: messages render combining marks fully, and no filter blocks them by default (server AutoMod or the MEE6 bot can). Display names and nicknames accept zalgo but cap at 32 characters, and every mark counts, so use the Subtle preset for names. Discord usernames (post-2023) are lowercase letters, digits, underscores and periods only, so zalgo is impossible there.

Roblox filters aggressively: heavy zalgo becomes # symbols or boxes, and middle (overlay) marks are the first to break. If you want to try, use the Subtle preset, set Position to Up & Down, keep it short, and test in-game. Full breakdown in does zalgo work on Roblox.

Instagram supports zalgo in bios, captions and comments. Lighter styles work best, and very tall stacks get clipped by line height. Usernames reject it. TikTok behaves the same: bios, captions and comments yes, usernames no.

Twitter / X renders zalgo in posts, bios and replies, but every combining mark counts toward the 280-character limit. Heavy zalgo on a single word can eat half a tweet. Watch the "Will it fit?" badges under the output, or run any text through the character counter to check it against 25 platform limits at once.

Twitch usernames are plain alphanumeric (no zalgo), but chat renders it, though channel bots often strip or time out heavy glitch text. Minecraft chat, signs, and server MOTDs render combining marks with no filter. Steam renders zalgo unclipped, which is exactly why it overflows profile and group name UI, so use it sparingly. WhatsApp and Telegram messages render it fine.

A note on etiquette: screen readers announce every combining mark, turning one zalgo word into a long unpleasant ramble, and some communities (fan wikis, forums) ban zalgo outright for breaking layouts. Horror writers' rule of thumb: one zalgo line per ~200 words hits harder than a full corrupted paragraph. And if anyone worries the cursed text could harm their device, it can't: zalgo is Unicode, not code.

Embed this tool on your website

Running a horror, creepypasta, or gaming community site? Add the Zalgo Text Generator to your pages with a single line of code.

Get the Embed Code →

Frequently Asked Questions

Glitch text, also known as Zalgo text, is regular text layered with Unicode combining marks: special characters that attach above, below, or through a base character. The result looks glitchy, corrupted, or cursed, with diacritics stacking wildly above and below the letters. It's purely decorative and has no special meaning; it's just a visually chaotic Unicode effect.

Unicode includes three groups of combining marks: marks that appear above a character (like accent marks), marks that overlay a character in the middle (like strikethrough marks), and marks that appear below. Zalgo text stacks many of these marks on every character. Normally you'd use one or two combining marks per letter; Zalgo text applies dozens, causing them to collide and overflow into adjacent lines.

Yes. Zalgo text is just Unicode: it contains no code, scripts, or malware. It is completely safe to copy and paste. Some platforms may strip or limit combining marks to prevent display issues, so the effect may vary. Very heavy Zalgo text can be visually disruptive to other users, so use it in contexts where that's expected or desired.

Zalgo text works on Discord, Instagram, TikTok, Twitter/X, WhatsApp, YouTube comments, and most platforms that support plain Unicode text. It's popular in horror-themed posts, meme captions, Halloween content, and anywhere a corrupted aesthetic fits. Paste it just like any other text.

Different platforms use different text rendering engines and fonts, which handle stacked Unicode combining marks differently. Some platforms clip or limit how far combining marks extend above and below a line. The same Zalgo text may look extremely chaotic on Discord but more restrained on Instagram or WhatsApp. This is normal: the underlying characters are identical, only the visual rendering differs. The Thai Cascade preset varies most of all, from a tall diagonal in one app to a straight column or a clipped stub in another.

Yes. The page URL automatically updates as you type, including your current text, style, and intensity as URL parameters. Copy the URL from your browser address bar to share your exact configuration. When someone opens it, the generator loads with your text and settings pre-filled.

Paste the corrupted text into the Decode Zalgo box on this page. It strips every Unicode combining mark and returns the original, readable text instantly: a built-in unzalgo / zalgo remover. A Thai cascade stack (one tone mark repeated) is removed too, while ordinary Thai text is left alone. This is useful for moderators cleaning up chat, for reading a zalgo message someone sent you, or for recovering text you over-corrupted.

Partially. Roblox filters many combining marks: heavy zalgo is often replaced with # symbols or shows as boxes. Light zalgo (low amplitude, no middle marks) sometimes passes in chat, and display names are stricter still. Use the Subtle preset, avoid the Mid position, keep it short, and always test in-game.

Every combining mark is a real Unicode character, so each one counts toward platform character limits. A 10-letter word with heavy zalgo can be 200+ characters. That's why heavy zalgo won't fit a 32-character Discord nickname or eats most of a 280-character post on X. The "Will it fit?" checker under the output shows which platform limits your current text still fits.