About this tool
This glitch text generator, also called a Zalgo text generator, piles Unicode combining marks onto each letter so your text looks corrupted, haunted or broken. You choose how intense the effect is and whether marks go above the letters, through the middle or below them, then copy the result. A clean mode does the reverse: paste glitch text and it strips the marks out to give back the readable letters. Everything runs in your browser, and nothing you type is uploaded.
How to use the glitch text generator
- Type your text in the box. The sample
Glitch textis glitched when the page loads. - Set the intensity from 1 to 10. At intensity N, each letter gets between 1 and N marks in every direction you have switched on.
- Pick the directions. Above and Below are on by default; Middle adds strike-through style overlays that make text much harder to read.
- Click Generate glitch text for a new random version, or turn on Same result every time and enter a seed number to get the identical output on every click and every device.
- Copy the result and paste it where you want it. Check the length note under the result first.
- To undo glitch text, switch the mode to Clean glitch text, paste it in and copy the plain version.
How Zalgo text works: combining marks
Unicode has two kinds of characters that matter here. A base character, such as the letter a, takes up its own space. A combining character takes no space of its own; it attaches to the character before it. In Unicode, a diacritic is always written after the letter it belongs to, so e followed by U+0301 COMBINING ACUTE ACCENT displays as an accented e. Nothing in the standard stops you adding a second mark, a third and a thirtieth to the same letter, and the renderer has to place every one of them. Above-marks stack upward, below-marks stack downward, and with enough of them the towers spill into the lines around them. That spilling effect is Zalgo text.
This tool draws its marks from the Combining Diacritical Marks block, U+0300 to U+036F, which holds 112 characters, all in the Unicode general category Mn (nonspacing mark). Each mark has a canonical combining class that says where it sits relative to the letter. The tool sorts the block by that class:
| Direction | Combining classes used | Marks | Examples |
|---|---|---|---|
| Above | 230 Above, 232 Above Right, 216 Attached Above Right | 55 | U+0300 grave, U+0301 acute, U+0308 diaeresis |
| Middle | 1 Overlay | 5 | U+0334 tilde overlay, U+0336 long stroke overlay |
| Below | 220 Below, 202 Attached Below | 43 | U+0323 dot below, U+0327 cedilla, U+0332 low line |
The remaining 9 characters in the block are left out on purpose: U+034F COMBINING GRAPHEME JOINER is invisible, the double diacritics from U+035C to U+0362 are designed to span two letters, and U+0345 is a Greek iota subscript. The class numbers come from the Unicode Character Database, and their names match those listed in the ICU4X CanonicalCombiningClass reference.
Randomness comes from your browser's crypto.getRandomValues, so each click gives a different result. When Same result every time is on, a small seeded number generator (mulberry32) is used instead, so the same text, settings and seed always produce exactly the same characters. Spaces and line breaks never get marks, so word gaps stay where they are.
Worked example
Turn on Same result every time, set the seed to 7, the intensity to 2, and keep only Above and Below. The text Hi becomes H̻̮̃i̯̾, which is 7 code points:
U+0048 U+0303 U+033B U+032E U+0069 U+033E U+032F
Each letter is followed by one or two above-marks and then one or two below-marks, as intensity 2 allows. Paste that result into clean mode and you get Hi back, exactly. With the page defaults (intensity 3, Above and Below) the sample Glitch text has 10 letters, so every random version carries between 20 and 60 marks.
Cleaning glitch text
Clean mode removes every character from U+0300 to U+036F. Glitch text made by this page always cleans back to exactly what you typed, as long as your original text did not already contain marks from that block. Accented letters typed the usual way, such as é (U+00E9), are single precomposed characters and are kept.
Other generators sometimes use marks from other blocks. For those, tick Also remove accents and every other nonspacing mark. The tool then applies Unicode canonical decomposition (NFD), which splits é into e plus U+0301, deletes every character in category Mn, then recomposes the rest (NFC). That catches marks from any block, but it also removes the accents from ordinary words, so café becomes cafe, and it can damage scripts that write some vowel signs as nonspacing marks, such as Devanagari. NFD and NFC are explained on MDN under String.prototype.normalize.
Where glitch text may not work
- Length limits. Every mark is a character. Two words at high intensity can run to hundreds of characters, so a name, bio or post field with a length limit may cut the text off or reject it. The note under the result shows the exact count.
- Stripping and filtering. Some sites and apps remove combining marks, limit how many can follow one letter, or normalize text when it is saved. The result may then appear plain or only lightly glitched.
- Rendering. Fonts and apps draw stacked marks differently. In one place the marks pile high above the line; in another they overlap into a dark smudge, or are clipped at the edge of a text box. Paste and preview before you rely on it.
Accessibility caution
Screen readers do not read glitch text the way people see it. Depending on the screen reader and its settings, they may skip the marks, announce each one by name or spell the word out, so a short glitched phrase can become a long string of noise. The University of Houston social media accessibility guidelines advise against replacing normal letters with decorative characters for this reason, and the disability charity Scope gives the same advice. Keep glitch text short and decorative, and never put names, links, dates or instructions only in glitch text.
Common mistakes
- Using maximum intensity on long text. High intensity reads best on one or two words.
- Turning on Middle for text people need to read. Overlay marks cross out the letters themselves.
- Expecting search to find it. Glitched words usually do not match a search for the plain word.
- Cleaning text that had real accents with the remove-all option, then losing them. Use the default clean first.
Use cases
Glitch text is for fun and styling: spooky titles for Halloween posts, horror game or creepypasta headings, a corrupted look for a music track name or a gaming handle, and design mock-ups that need a broken-text effect. For quieter styling, the Small Text Generator makes small caps and superscript letters, the Special Characters page has symbols to copy, and the Text Cleaner removes invisible characters and stray spacing from pasted text.
Frequently asked questions
Yes, the two names describe the same effect. Zalgo is the name the effect picked up online, while glitch text describes how it looks. Both mean ordinary letters with many Unicode combining marks stacked above, through and below them, so the text appears corrupted.
Phone keyboards cannot stack combining marks quickly, so use a generator. Type your words into the box on this page, tap Generate glitch text, then tap Copy result and paste into your app. The output is plain Unicode text, so it pastes like any other text and needs no special app or font.
The app you pasted into uses its own fonts and text rules. It may clip marks that rise above the line, overlap them into a blur, or remove some of them when the text is saved. Lower intensity usually survives better. Preview the post or profile before you publish it.
Combining marks are valid Unicode, so they should not break software that handles text correctly. Very heavy glitch text can still be hard to read, overlap nearby content or make a page slower to draw. Use it in small doses and be considerate in shared spaces such as group chats and comment threads.
Keep the intensity at 1 to 3, switch off Middle so nothing crosses through the letters, and use only Above or only Below. The letters stay clear while the marks give a light distorted look. Short words and display names work better than whole sentences.
Usually, because both accept Unicode combining marks. How tall the stacks look depends on the font, and line spacing may grow or marks may overlap nearby lines. If the effect looks wrong, try another font or a lower intensity. Clean mode on this page restores the plain text for editing.