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 (dots, rings, hooks and overlays), 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 light accent, at 20 it is heavy classic chaos. The Extreme preset opens the slider to 300. At 300 with every position on, a letter carries about 272 marks: 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 1,000 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 two (down) marks, Sara U and Sara Uu, stack below the carrier instead of above it.
Post Invader is the version going round on X: your caption, then the kaomoji (つ ค c ) with 230 marks on its Thai letter. In posts seen on X in September 2026, a stack like this climbed over the posts above it; other apps may draw it shorter or clip it. It fits a 280-character post with a caption of about 40 characters, and the “Will it fit?” check tells you if yours does.
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.
How this Zalgo generator differs
In our September 2026 test of 12 Zalgo generators, this was the only one with a mark-type choice, a frequency control and a live platform-limit check, and one of two that can shape corruption along a sentence. Since then it also shares the exact output, sets each zone separately and makes GIFs.
| Feature and what it does | What you get |
|---|---|
| Shape: corruption changes along your text instead of staying even | A line that starts clean and ends cursed, fades out, pulses or peaks mid-sentence |
| Mark type, frequency and amount per zone: pick the kind of marks, how many letters get them, and how many go above, through and below | A scratched-out look, fine noise, tall spires with short roots, or a few cursed letters in a readable line |
| Will it fit?: a live length check for a Discord name and message, an X post and an Instagram bio; tap a red badge to shrink the effect | Know it fits a 32-character Discord name before you paste |
| Exact share link: your text, settings and random seed travel in the page address | Friends open the same glitch, mark for mark |
| Tall stacks: Extreme up to 300 marks a letter; Thai Cascade and Post Invader up to 1,000 | A spike tall enough to climb over the posts above yours, where the app draws it in full |
| GIF: an animated download made in your browser | A flickering or growing glitch to post as an image |
For one-click zalgo with no settings, simpler generators are faster. Compare Zalgo generators or see the benchmark methodology.
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.
Unzalgo: Remove Zalgo From Any Text
Most zalgo generators cannot reverse their own output: in our September 2026 benchmark of 12 generators, 4 could, and this page is one of them, with a built-in unzalgo decoder. Paste corrupted text into the Decode Zalgo box above and it strips the combining-mark ranges zalgo generators use, returning readable text instantly. 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. For the full explanation (and how moderators auto-filter zalgo), see how to remove zalgo text.
Because zalgo is just base characters plus combining marks, the letters usually come back. Accents typed the usual way survive; an accent stored as a separate mark is removed with the zalgo, so check names like café after decoding.
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 39 limits on 17 platforms 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, and it is exact. The page address updates as you type with your text, your settings and the random seed behind the marks. Copy it from the address bar, and whoever opens it gets the same zalgo, mark for mark. Press Regenerate for a new seed and a new look.
Paste the corrupted text into the Decode Zalgo box on this page. It strips the combining-mark ranges zalgo generators use and returns the readable text instantly: a built-in unzalgo / zalgo remover. Accented letters typed the usual way (é as one character) stay as they are. 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.