Free · No signup · Runs in your browser · 4 presets · Length check · Undo mode

Cursed Text Generator: Pick a Curse, Copy It, Undo It

Copy and paste cursed Zalgo text from four presets, check its length first, and undo it anytime.

Cursed Text Generator Tool

Input: 12 chars
Cursed Output
Your cursed text will appear here...
Output: 0 characters Marks added: 0

Your text never leaves your browser.

Want gothic letters instead of stacked marks? Try creepy text (Gothic styles) or fancy text (Fraktur).

What Is Cursed Text?

Cursed text is ordinary text with extra Unicode combining marks stacked on the letters. The marks come from a block of 112 characters called Combining Diacritical Marks, which exists so that languages can put accents on letters. Pile enough of them on one letter and they climb above it and drip below it. That is the haunted, broken look people call cursed text. You will also see it called Zalgo text, glitch text or demonic text. It is the same trick with different names.

Because the marks are real characters and not an image or a font, you can copy and paste cursed text almost anywhere. The price is length. Many apps count every mark as a character, so a short name can turn into hundreds of characters. This cursed text generator is built around that problem: presets for how heavy you want it, a limit check, and a way to undo it.

Before and After Example Before: Do not read this After:  D̴̼̒͗ȏ̵̠̂̃ n̶̡̛o̸̤̤̫͡ţ̵̙̗͗ r̷̛̗ͮ͢͞e̵̠ͮ͟a̶͎͍ͨ͡d̠͗ͮ t̴̮ͭh̴̢̹͖̑ͬi̸͎̗͆́͜ś͚̱̠̀̀

The Four Presets

Each preset adds a different number of marks to every letter. The numbers below are averages measured by running the generator on 20,000 letters per preset (0.998, 4.508, 10.505 and 25.022), rounded to one decimal. Each result is random, so a single run varies.

The four presets with marks per letter, readability and best use
PresetMarks per letterReadabilityGood for
Hauntedabout 1.0Easy to readA light haunting for names and bios
Cursedabout 4.5Readable with effortThe classic cursed look
Demonicabout 10.5Hard to readHeavy stacks that climb and drip
Maximumabout 25.0UnreadableEvery letter buried under marks

Readability is my own judgment, not a measured score. Demonic is the preset to pick if you searched for a demonic text generator.

Check the Length Before You Paste

Cursed text gets long fast. For a 12 letter name, the typical output length at each preset is:

  • Haunted: about 24 characters
  • Cursed: about 66 characters
  • Demonic: about 138 characters
  • Maximum: about 312 characters

Those are averages across random results. Type a number into the character limit box and the tool tells you whether the current result fits, and roughly how many letters fit at your preset. Apps differ in how they count, so the tool shows the count of Unicode characters and you should still test in the place you plan to paste.

How to Make Cursed Text

  1. Type your text. A name or a short phrase works best. Long paragraphs turn into a wall of marks.

  2. Pick a preset. Start with Cursed. Choose Haunted if you need it to stay readable, or Demonic and Maximum for a heavy look.

  3. Check the length. If you are pasting somewhere with a limit, enter it in the character limit box.

  4. Copy it. Press Copy. Press Reroll first if you want a different pattern of marks.

Remove the Curse

Switch to Remove the Curse and paste any cursed text. The tool strips stacked marks and gives the plain letters back. It also works on text from other generators, as long as the marks are in the range U+0300 to U+036F; marks from other Unicode blocks are left alone.

With Keep normal accents on, a letter with one or two marks that fuse into a single real accented letter (Latin-1 Supplement or Latin Extended-A, like the e in cafe) is left alone, and everything else is removed. Turn it off if you want every combining mark gone. This is useful when you copied a name that looks good but needs to be searchable, or when a screen reader user needs to be able to read it.

Cursed Text vs Zalgo, Corrupted and Creepy Text

How cursed text differs from similar effects on this site
EffectHow it worksBest for
Cursed text (this page)Presets of stacked marks, with a length check and a removerQuick cursed text that fits a limit
Zalgo textSeparate sliders for marks above, through and belowFine control of the look
Creepy textLight marks and gothic letters that stay readableNames and bios
Corrupted textSymbols, look-alike letters, scrambles and deletionsA data-damage look

Where Cursed Text Works

  • Display names, bios and captions. Haunted adds about 1 mark per letter and Demonic about 10.5, and the taller stacks are the ones apps are more likely to clip, so start with Haunted.
  • Usernames and handles. Not supported. Those fields accept only a limited character set, so cursed text is rejected or stripped there. Use the display name instead.
  • Search. A cursed name is hard to find by its plain spelling. Remove the Curse gives you the plain version back to keep somewhere searchable.
  • Accessibility. At about 25 marks per letter, Maximum is unreadable even to sighted readers, so keep it to a single word and put anything important in plain text.

For platform specifics, see Instagram Fonts, Discord Fonts and TikTok Fonts.

How this page was built. I built this tool myself. The mark lists are generated from the Unicode Character Database: every character in the block from U+0300 to U+036F is sorted by its combining class into above, below and through, and the build fails if a mark falls outside the block. I ran a script that curses 1,000 random strings of letters, digits, spaces and a few punctuation marks at each of the four presets and then runs Remove the Curse on every result. With Keep normal accents off, the original text came back in all 4,000 strings. With it on, Cursed, Demonic and Maximum also came back in all 1,000, but at Haunted a single light mark can fuse into a real accented letter, so only about 7 in 10 strings came back exactly (732 of 1,000 in the run I recorded; repeat runs gave 712 and 736). The marks per letter in the table were measured on 20,000 letters per preset, and the length table is calculated from those averages. Nothing you type is sent to a server.

Frequently Asked Questions

What is cursed text?

Cursed text is normal text with extra Unicode combining marks stacked on the letters, so they appear to climb above and drip below the line. The marks are real characters from the Combining Diacritical Marks block, not an image or a font. That is why you can copy and paste cursed text into most places that accept Unicode.

Is cursed text the same as Zalgo text?

It is the same technique with a different name. This page gives you four one-click presets, a character limit check and a way to remove the curse. The Zalgo text generator gives you separate sliders for marks above, through and below the letters. Pick whichever matches how you like to work.

What is demonic text, and is it different?

Demonic text is cursed text turned up. On this page it is the third preset, with heavy stacks of marks above and below every letter. Maximum goes further and buries each letter completely, so it is best kept for a single word.

Why is my cursed text too long to post?

Many apps count each combining mark as a character, so a short name can become hundreds of characters. Type your limit into the character limit box and the tool shows whether the result fits and roughly how many letters fit at your preset. A lighter preset almost always solves it.

How do I remove cursed text?

Switch to Remove the Curse and paste the text. It strips the stacked marks and gives you the plain letters back. With Keep normal accents on, real accented letters such as the e in cafe are left alone, and a light curse can sometimes fuse into one of those, so turn it off to strip every mark.

Can I use cursed text in a Discord, Instagram or TikTok name?

Use the display name or bio, not the username or handle. Handles on those apps accept a limited set of characters, so cursed text is rejected or stripped there. Even in display names, some apps cut off heavy stacks, so start with the Haunted or Cursed preset and test it.

Can screen readers read cursed text?

Often not well. Behavior varies by screen reader and app, but many read the marks one by one or skip them, which turns a cursed word into noise. Keep cursed text short and keep the important information in plain text.

Why does cursed text look different on different devices?

Each device draws the marks with its own fonts, and some fonts overlap or clip tall stacks. The same text can look cleaner on one phone and messier on another. Use Reroll to try a different random pattern if one result looks off.

Is this cursed text generator free and private?

Yes. There is no account and no usage limit. Cursing, the length check and Remove the Curse all run in your browser, so text you type or paste stays on your device.

More Free Text Tools

Related effects, if cursed text is not quite the look you want.