Cursed text generator
Glitchy zalgo text at three intensities, built from stacked combining marks — with a plain warning about where it will get you muted.
- Runs in your browser
- Nothing you enter is sent
- Free, no account
c̖̀ủ̡ř̛s̘̆e̘̅d̞̊
Cursed — light
c̡̖̜̀̉̋ủ̡̞̞̆̃ř̛̜̙̌̇s̘̘̖̆̆̈e̡̘̅̂̉̚d̞̙̖̊̄̎
Cursed — medium
c̡̛̖̜̞̘̀̉̋̏̀̍ử̡̞̞̗̖̆̃̍̇̈ř̡̛̜̙̝̞̌̇̋̇̃s̘̘̖̟̗̆̆̈̎̎̏̚e̡̘̜̞̅̂̉̅̄̆̚̚d̛̞̙̖̟̞̊̄̎̋̏̊
Cursed — heavy · Enough combining marks to bleed into the lines above and below
𝐜𝐮𝐫𝐬𝐞𝐝
Bold · Mathematical Bold — the one that works in Instagram bios and LinkedIn headlines
𝑐𝑢𝑟𝑠𝑒𝑑
Italic
𝒄𝒖𝒓𝒔𝒆𝒅
Bold italic
𝖼𝗎𝗋𝗌𝖾𝖽
Sans-serif
𝗰𝘂𝗿𝘀𝗲𝗱
Sans-serif bold
𝘤𝘶𝘳𝘴𝘦𝘥
Sans-serif italic
𝙘𝙪𝙧𝙨𝙚𝙙
Sans-serif bold italic
𝚌𝚞𝚛𝚜𝚎𝚍
Monospace
𝒸𝓊𝓇𝓈ℯ𝒹
Script (cursive)
𝓬𝓾𝓻𝓼𝓮𝓭
Bold script
𝔠𝔲𝔯𝔰𝔢𝔡
Fraktur (old English)
𝖈𝖚𝖗𝖘𝖊𝖉
Bold fraktur
𝕔𝕦𝕣𝕤𝕖𝕕
Double-struck (outline)
cursed
Fullwidth (aesthetic) · The vaporwave look — CJK-width Latin letters
ⓒⓤⓡⓢⓔⓓ
Circled (bubble)
🅒🅤🅡🅢🅔🅓
Circled filled
🄲🅄🅁🅂🄴🄳
Squared
🅲🆄🆁🆂🅴🅳
Squared filled
⒞⒰⒭⒮⒠⒟
Parenthesised
🇨🇺🇷🇸🇪🇩
Regional indicator · Renders as flag-style letter tiles on most phones
ᴄᴜʀꜱᴇᴅ
Small caps
ᶜᵘʳˢᵉᵈ
Superscript (tiny)
cᵤᵣₛₑd
Subscript
pǝsɹnɔ
Upside down · Flipped characters, then the whole string reversed
desruc
Reversed
c u r s e d
S p a c e d
c̶u̶r̶s̶e̶d̶
Strikethrough · Combining long stroke overlay, U+0336
c̵u̵r̵s̵e̵d̵
Short strikethrough
c̲u̲r̲s̲e̲d̲
Underline
c̳u̳r̳s̳e̳d̳
Double underline
c̅u̅r̅s̅e̅d̅
Overline
c̸u̸r̸s̸e̸d̸
Slashed
c̰ṵr̰s̰ḛd̰
Wavy underline
✧・゚: cursed :・゚✧
Sparkles
★彡 cursed 彡★
Shooting stars
♡ cursed ♡
Hearts
❀ cursed ❀
Flowers
『cursed』
Corner brackets
【cursed】
Lenticular brackets
༺ cursed ༻
Scroll
˜”*°•.˜”*°• cursed •°*”˜.•°*”˜
Wave
➶➶➶ cursed ➷➷➷
Arrows
.•°¤*(¯`★´¯)*¤° cursed °¤*(¯´★`¯)*¤°•.
Dotted frame
What makes text look cursed
Unicode allows any number of combining diacritical marks to attach to a single base character. That is a deliberate design choice — it is how scripts with stacked vowel and tone marks work. Layout engines therefore draw every mark they are given, and if you stack thirty of them the result climbs vertically out of the line.
Cursed text — also called zalgo, after the internet horror meme it grew out of around 2009 — is nothing more than that: your letters with randomly chosen marks piled above and below.
Three intensities
| Level | Marks per character | Behaviour |
|---|---|---|
| Light | 1 above, 1 below | Stays inside its own line; usually tolerated anywhere |
| Medium | 3 above, 3 below | Touches the lines above and below |
| Heavy | 6 above, 6 below | Bleeds well beyond the line box; the classic look |
The output is deterministic: the marks are chosen from each character's position rather than from a random number generator, so the same input always produces exactly the same cursed text. Regenerate it tomorrow and you get an identical string.
Why it overflows the line
Text layout reserves space for a line based on the font's declared ascent and descent. Combining marks are drawn relative to the base character and can extend arbitrarily far, and no engine grows the line box to fit them. That overlap is the entire aesthetic — and also the reason moderators dislike it, because a single heavy message can make several lines of a chat log unreadable.
Where it will get you in trouble
- Discord. Many servers have automod rules against zalgo, and heavy stacking can measurably slow the client's rendering.
- Usernames. Most platforms strip or reject combining marks in handles, and some treat the attempt as an impersonation risk.
- Anywhere it obscures other people's text. This is the line most communities actually enforce — decorating your own message is fine, making the channel unreadable is not.
Light intensity is the safe default when you just want the effect without the fallout.
It is unreadable to assistive technology
Screen readers handle stacked combining marks unpredictably: some announce each mark by name, producing a minute of speech for one word, and others give up on the word entirely. Never use cursed text for anything a reader needs.
Cleaning it up
Removing the marks is straightforward if you have a text editor with regex support: strip
everything in the Unicode ranges U+0300–U+036F, U+1AB0–U+1AFF and U+20D0–U+20F0, and the base
letters remain. In JavaScript, text.normalize('NFD').replace(/\p{M}/gu, '')
does it in one line — which also removes legitimate accents, so use it on cursed text only.
Generated in your browser
The mark stacking is plain string arithmetic performed here as you type. Nothing is uploaded, and no request is made — the page works with the network disconnected.
Questions
What actually makes text look cursed?
Stacked combining diacritics. Unicode lets any number of accents attach to one base character, and rendering engines draw them all, so the marks pile up above and below the line.
Why does it bleed into the lines above and below?
Because combining marks are drawn outside the character cell and most layout engines do not reserve space for an unbounded stack. That overlap is the entire aesthetic, and also why moderators dislike it.
Will I get muted for posting this?
Quite possibly. Heavy zalgo is treated as disruptive in most Discord servers and many forums, and some clients slow down rendering it. Light intensity is usually tolerated.
Is the output stable — do I get the same text twice?
Yes. The mark placement is derived from each character’s position rather than a random number, so the same input always produces exactly the same cursed output.