This glitch text generator turns your words into zalgo text, the messy, shaking letters people also call cursed, creepy or corrupted text. Type in the box, pick a strength and where the marks should go, then copy the result. It also works the other way: paste glitch text into the cleaner to strip the extra marks and get plain words back. Everything runs in your browser, so the words you type are never sent to us or saved.
14 letters, 57 marks added, 72 code points in all (Medium). This is a fixed sample until you press a button.
Recent results (cleared when you leave)
Clean glitch text
How glitch text works
Every letter on a screen can carry small marks, like the accent on é. Unicode, the code system behind the text on phones and computers, keeps many of these in a block called Combining Diacritical Marks, which runs from U+0300 to U+036F and holds 112 code points. A combining mark takes up no space of its own, so it lands on top of, across, or under the letter before it. Glitch text piles many of these marks onto each letter, which is why the words seem to shake or melt.
That also means glitch text is still real text, not a picture or a special font. You can paste it almost anywhere you can type, and the person who sees it does not need to install anything. How tall the marks look depends on the font and the app, so the same text can look neat on one phone and wild on another. If it looks too messy where you post it, go back and pick a lower strength.
Strength levels compared
The four strengths decide how many marks each letter gets. The tool picks a random number in the range for every letter, so no two results are the same. Press New mix to roll a fresh version with the same settings. The table shows the word boo at each strength, made with this tool.
| Strength | Marks per letter | Example (boo) | How it looks | Good for |
|---|---|---|---|---|
| Light | 1 to 2 | b̭o̜ͯo͎ | Fuzzy but easy to read | Usernames, a spooky word in a caption |
| Medium | 3 to 5 | b̷̺ͬ̐o̶͔̰̪̾o̸͖̿ | Clearly glitched, still readable | Memes, short posts, Halloween titles |
| Heavy | 6 to 10 | b̸̯̂̈͒̓͐̂̂͂ọ̵̲̜̟̭̱̟̋́o̸̩̐͑̅ͩͯ̄ | Tall spikes above and below | One or two words, not whole sentences |
| Chaos | 12 to 20 | b̸̜̳̙̼̥͈͆ͬ̿̈̍̉ͣ̂̄̿o̶͖̞͕̭̲͈̹͔͇͖̹̦͇ͥ̀̃̑̿̿ó̷̱̠͕̣̣̮̲͇̜͇͖͉͖̩ͧͣ͛̒ | Marks spill onto nearby lines | A joke or a dramatic reveal, used rarely |
Which marks the tool uses
The tool uses 95 of the 112 marks in that block. There are 51 that sit above a letter, 5 that cut through it and 39 that hang below it, sorted by the combining class each mark has in the Unicode Character Database, version 15.1. We left out 17 marks that stretch across two letters, sit off to the side, or cannot be seen, because they break the text in odd places. Open the list below to see every mark on the letter o, with its code and name.
All 95 marks the tool uses (open the list)
| On “o” | Code | Unicode name | Sits |
|---|---|---|---|
| ò | U+0300 | grave accent | Above |
| ó | U+0301 | acute accent | Above |
| ô | U+0302 | circumflex accent | Above |
| õ | U+0303 | tilde | Above |
| ō | U+0304 | macron | Above |
| o̅ | U+0305 | overline | Above |
| ŏ | U+0306 | breve | Above |
| ȯ | U+0307 | dot above | Above |
| ö | U+0308 | diaeresis | Above |
| ỏ | U+0309 | hook above | Above |
| o̊ | U+030A | ring above | Above |
| ő | U+030B | double acute accent | Above |
| ǒ | U+030C | caron | Above |
| o̍ | U+030D | vertical line above | Above |
| o̎ | U+030E | double vertical line above | Above |
| ȍ | U+030F | double grave accent | Above |
| o̐ | U+0310 | candrabindu | Above |
| ȏ | U+0311 | inverted breve | Above |
| o̒ | U+0312 | turned comma above | Above |
| o̓ | U+0313 | comma above | Above |
| o̔ | U+0314 | reversed comma above | Above |
| o̖ | U+0316 | grave accent below | Below |
| o̗ | U+0317 | acute accent below | Below |
| o̘ | U+0318 | left tack below | Below |
| o̙ | U+0319 | right tack below | Below |
| o̜ | U+031C | left half ring below | Below |
| o̝ | U+031D | up tack below | Below |
| o̞ | U+031E | down tack below | Below |
| o̟ | U+031F | plus sign below | Below |
| o̠ | U+0320 | minus sign below | Below |
| ọ | U+0323 | dot below | Below |
| o̤ | U+0324 | diaeresis below | Below |
| o̥ | U+0325 | ring below | Below |
| o̦ | U+0326 | comma below | Below |
| o̩ | U+0329 | vertical line below | Below |
| o̪ | U+032A | bridge below | Below |
| o̫ | U+032B | inverted double arch below | Below |
| o̬ | U+032C | caron below | Below |
| o̭ | U+032D | circumflex accent below | Below |
| o̮ | U+032E | breve below | Below |
| o̯ | U+032F | inverted breve below | Below |
| o̰ | U+0330 | tilde below | Below |
| o̱ | U+0331 | macron below | Below |
| o̲ | U+0332 | low line | Below |
| o̳ | U+0333 | double low line | Below |
| o̴ | U+0334 | tilde overlay | Through |
| o̵ | U+0335 | short stroke overlay | Through |
| o̶ | U+0336 | long stroke overlay | Through |
| o̷ | U+0337 | short solidus overlay | Through |
| o̸ | U+0338 | long solidus overlay | Through |
| o̹ | U+0339 | right half ring below | Below |
| o̺ | U+033A | inverted bridge below | Below |
| o̻ | U+033B | square below | Below |
| o̼ | U+033C | seagull below | Below |
| o̽ | U+033D | x above | Above |
| o̾ | U+033E | vertical tilde | Above |
| o̿ | U+033F | double overline | Above |
| ò | U+0340 | grave tone mark | Above |
| ó | U+0341 | acute tone mark | Above |
| o͂ | U+0342 | greek perispomeni | Above |
| o̓ | U+0343 | greek koronis | Above |
| ö́ | U+0344 | greek dialytika tonos | Above |
| o͆ | U+0346 | bridge above | Above |
| o͇ | U+0347 | equals sign below | Below |
| o͈ | U+0348 | double vertical line below | Below |
| o͉ | U+0349 | left angle below | Below |
| o͊ | U+034A | not tilde above | Above |
| o͋ | U+034B | homothetic above | Above |
| o͌ | U+034C | almost equal to above | Above |
| o͍ | U+034D | left right arrow below | Below |
| o͎ | U+034E | upwards arrow below | Below |
| o͐ | U+0350 | right arrowhead above | Above |
| o͑ | U+0351 | left half ring above | Above |
| o͒ | U+0352 | fermata | Above |
| o͓ | U+0353 | x below | Below |
| o͔ | U+0354 | left arrowhead below | Below |
| o͕ | U+0355 | right arrowhead below | Below |
| o͖ | U+0356 | right arrowhead and up arrowhead below | Below |
| o͗ | U+0357 | right half ring above | Above |
| o͙ | U+0359 | asterisk below | Below |
| o͚ | U+035A | double ring below | Below |
| o͛ | U+035B | zigzag above | Above |
| oͣ | U+0363 | latin small letter a | Above |
| oͤ | U+0364 | latin small letter e | Above |
| oͥ | U+0365 | latin small letter i | Above |
| oͦ | U+0366 | latin small letter o | Above |
| oͧ | U+0367 | latin small letter u | Above |
| oͨ | U+0368 | latin small letter c | Above |
| oͩ | U+0369 | latin small letter d | Above |
| oͪ | U+036A | latin small letter h | Above |
| oͫ | U+036B | latin small letter m | Above |
| oͬ | U+036C | latin small letter r | Above |
| oͭ | U+036D | latin small letter t | Above |
| oͮ | U+036E | latin small letter v | Above |
| oͯ | U+036F | latin small letter x | Above |
Where zalgo text comes from
The name comes from Zalgo, a monster in a 2004 creepypasta, which is a scary story people pass around online. Wikipedia’s article on zalgo text says the style was first made in 2004 by a member of the Something Awful forum who posted edited cartoon images. Forum members came to treat Zalgo as a strange being that would end the world, and the broken letters became its voice. The same article notes that the text is also known as cursed text or glitch text.
The look stayed popular in memes and spooky posts long after the forum jokes faded. It fits Halloween captions, horror game names and fan art, where creepy is the whole point. If you like strange game text, our W.D. Gaster translator turns English into the symbol language of the Undertale character. The glitch tool on this page works with any language that uses letters or numbers.
When glitch text causes problems
Heavy glitch text can do more than look scary. Wikipedia’s article reports that some versions of Apple’s Messages app crashed when they got zalgo text, and that people used this to attack iPhone users. It adds that zalgo messages sent through Gmail have caused crashes too. So use the Chaos level only for a laugh, and never send it to someone as a prank on an old phone.
Glitch text is also hard for people who use screen readers, the apps that read a screen out loud. The accessibility guide from Texas Tech University tells people to avoid fancy Unicode fonts made by third-party apps because screen readers cannot read them. Keep glitch text for short, fun bits, and write names, dates, links and rules in plain letters. The Copy plain text button gives you a clean copy for alt text or a caption.
How to clean glitch text
Paste any glitch text into the cleaner, and it removes the combining marks and keeps the base letters. Turn on Keep normal accents for names like José or words in Spanish and French. In that mode the tool first joins each letter with an accent when Unicode has a ready-made letter for it, then drops the rest. Because zalgo marks are random, a letter may keep one stray accent, so check the result, or leave the box off to get plain letters only.
The cleaner also helps with usernames and comments that are hard to read. Once the marks are gone, you can see what the person actually wrote. If the clean text is full of short forms like ngl or istg, paste it into the text slang decoder to see what they mean. The cleaner never changes the order of the letters or adds anything new.
Character counts and length limits
Every mark is a code point, so glitch text gets long fast even when it looks short. X’s developer guide says a post can hold up to 280 characters and that X counts after a step called NFC normalization, so é typed two ways counts the same. The guide does not say how X counts long stacks of marks, and we have not tested it, so treat our count as a guide. Other apps have their own limits, and some may cut or block long stacks.
The Trim to fit box lets you set any limit you need. Type a number and press Trim to fit, and the tool removes random marks until the text fits. The letters themselves always stay, so if the plain text is already too long, you will need to shorten your words. The table under the result shows how many marks landed on each of the first eight letters.
Privacy, and other text tools
The generator and the cleaner run on this page, inside your browser. What you type is not sent to Slang Sense or stored, and the recent results list clears when you leave the page. We only count how often the buttons are used, with no text attached. Copying uses your own clipboard, the same as copying any other text.
Want letters that look stylish instead of broken? The fancy text generator has more than 100 Unicode styles, from cursive to bubble letters. It works the same way, with real characters you can paste anywhere. Pick that one for a clean, pretty name and this one when you want it to look haunted.
Glitch text is a style, not a word with a meaning, so it is safe for most places where jokes are fine. It is a poor choice for school work, job messages or anything someone must read quickly. Parents who see it in a child’s chat can paste it into the cleaner to read the words underneath. Most of the time it is just someone having fun with how letters look.
Seeing strange symbols that are emojis rather than letters? Paste them into the emoji decoder for a checked meaning of each one. This page only handles letters and the marks stacked on them. Emojis, Wingdings and other symbol sets follow different rules.
Last checked: October 28, 2026.


