/TOOL · GLITCH TEXT

Glitch Text Generator and Zalgo Text Maker

Type anything and stack Unicode combining marks above, through and below it, then copy the result. Nine styles, an intensity slider, separate up, middle and down controls, and a live preview on a chat background so you can see what it looks like where it is actually going. This makes corrupted text you paste, characters that travel into a bio, a username or a chat message. If you wanted the visual glitch look on a photo, a video or ASCII art, that is the glitch effect instead.

Style
Line marks
Level
45%
Marks A middle setting, a few marks each way. Readable enough for a bio, glitched enough to be the point.

Input 11 characters Output 0 characters Every combining mark counts as its own character in any field with a length limit.

Username, about 30 Short bio, about 160 Chat message
In context

The same string on a dark chat list, a light bubble thread and a fixed-height name row. Judge it here, not in the big box above, because the big box gives it triple line spacing and nothing else will.

Dark chat
nightowl 12:04 ok post it
you 12:04
Light bubble

say something cursed

Name row, clipped
someone_else

Fixed row height with overflow clipped, the way a feed, a member list or a name field does it. If the top and bottom of your text get sliced off here, drop the intensity or switch Up and Down off.

Every style, click one to copy

Your text in all nine styles, each at the setting it was tuned for.

/WHAT IT IS

What glitch text actually is

Glitch text is ordinary text with extra Unicode marks piled onto it. The letters themselves never change. An a is still the character a, it just happens to be carrying nine accents it was never designed to carry, so the renderer draws all nine and the word appears to bleed out of its line.

That is the whole trick. There is no glitch font, no image, no special encoding, no filter. The output is plain text, which is exactly why you can copy it into a bio, a display name or a chat message and have it survive the trip. It is also why it sometimes does not survive the trip, which the reference further down covers honestly.

The effect goes by several names depending on where you first met it. Zalgo text is the original one, from a 2004 internet horror meme in which corrupted, overflowing text signalled that something had gone badly wrong. Cursed text, corrupted text and creepy text all describe the same mechanism at different intensities. Glitch text is the catch-all, and in practice it usually means a lighter version tuned for a username or a bio rather than a full wall of noise. The tool above covers the whole range, because the difference between them is quantity and direction, not kind. Cursed is one mark per letter, Zalgo is a dozen, Void sends them all downward, and the rest sit in between.

One thing it is not: a picture. Search for "glitch" and half the results are a visual effect, torn colour channels and scanlines applied to a photo or a video, which comes out as an image file. This page never renders anything. It hands you characters. If the image version is what you came for, it is the glitch photo effect.

/HOW IT WORKS

How combining characters stack

Unicode has two ways to write an accented letter. There is the precomposed character é, which is one code point, U+00E9. And there is the decomposed pair: e followed by U+0301 COMBINING ACUTE ACCENT, two code points that a text renderer draws as a single visual unit.

That second form is the one glitch text exploits. A combining mark has no advance width of its own. It does not occupy a cell, it attaches to whatever character precedes it and is painted over that character's cell. Crucially, Unicode places no limit on how many marks may attach to one base character, and renderers do not impose one either. Attach twelve marks above an e and you get a twelve-high tower of accents growing out of a single letter, with the line below unchanged because the marks were never measured into the layout.

The marks that matter live mostly in one block, Combining Diacritical Marks, U+0300 to U+036F. They sort into three families by where the renderer puts them, and those three families are exactly the three toggles in the tool:

UP        U+0300-U+0314, U+033D-U+0346, U+0363-U+036F
          grave, acute, circumflex, tilde, ring, breve, dots,
          and the superscript letters a to x

MIDDLE  U+0315, U+031B, U+0334-U+0338, U+035D, U+0360, U+0361
          tilde, macron, short and long strokes drawn through
          the glyph, plus the double marks that span two letters

DOWN      U+0316-U+0333, U+0339-U+033C, U+0353-U+035A
          cedilla, ogonek, rings, dots, lines, bridges and
          arrows placed under the baseline
The three families, and the three toggles in the tool above. Intensity decides how many marks are drawn from each enabled family per character.

The intensity slider is simply how many marks are drawn from each enabled family per character, from a single one at the low end up to roughly sixteen at the top. Each style sets its own ceiling for each of the three families, which is why Void can pour eighteen marks below the baseline while putting nothing above it, and why Scratched piles strokes through the glyph and leaves the line box alone. There is also a floor: every character gets at least half of the ceiling, because glitch text that gives one letter eleven marks and the next letter none reads as a mistake rather than as an effect. Within those bounds the marks are picked at random, so the same text and the same settings can produce a different arrangement each time, which is what the Shuffle button is for.

Two consequences follow from the zero-width rule, and both catch people out. First, every mark is its own character. A twelve-letter word with ten marks per letter is around 130 characters to any counter, even though it still reads as one word, which is why heavy zalgo blows straight past bio and username limits. Second, the marks are allowed to overflow their line box. Nothing reflows to make room, so tall stacks paint over the line above and short ones paint into the line below. Some interfaces let that happen and some clip it, and that difference is most of why the same string looks great in one app and decapitated in another.

The single-mark styles work on the same principle with none of the randomness. Strikethrough appends U+0336 to every character, a long stroke overlay. Underline appends U+0332, a low line. Overline appends U+0305. Because those are marks rather than formatting, the effect travels with the text into fields that have no bold or underline button at all, which is the main reason people reach for them.

/HOW TO

Make glitch text in four steps

  1. Type your text

    Enter a word or short phrase. The output redraws on every keystroke, and spaces and line breaks are left clean on purpose.

  2. Pick a style

    Cursed stays readable, Corrupted is the middle, Zalgo is the full wall, Void drips down, Halo rises, Scratched stays inside the line. Each one arrives already tuned.

  3. Tune it

    Slide the intensity for how many marks, and use Up, Middle and Down for where they sit. Watch the output count and the fit pills.

  4. Check the chat preview, then copy

    Judge it on the chat cards, not the big box. Copy it, paste it into the destination, and check it there. Phone apps and web clients often differ.

/QUICK REFERENCE

Where glitch text renders, and where it breaks

This is the honest version. Support for combining marks is decided by each platform's input sanitiser and each surface's text renderer, both of which change without announcement, so no page can give you a table that stays true. What follows is the shape of the problem and what to check, rather than a list of guarantees.

/COMMON MISTAKES

Four things that make glitch text disappoint

/ALSO ON THIS SITE

Glitch text, ASCII text and ASCII art are three different things

They get searched for interchangeably and they are not interchangeable at all. It is worth knowing which one you actually want before you pick a tool, because the output formats are completely different.

Glitch text, this page, keeps your letters and decorates them. One line in, one line out, still selectable and still searchable in principle. Good for a name, a label or a short phrase.

ASCII text art rebuilds each letter as a large shape drawn out of smaller characters, the banner style you see at the top of code READMEs. It needs a monospaced destination and several lines of vertical room. That is the text to ASCII generator, which ships 20 FIGlet fonts and a set of character ramps.

ASCII art from an image throws a grid over a picture, measures the brightness of every cell and prints the character whose ink coverage matches. Dense glyphs land on the dark areas, sparse ones on the light, and your eye reassembles the tones. That is the image to ASCII converter, and the same editor also does glitch and RGB-split effects on photos if it was the visual look you were after rather than the text trick.

/FAQS

Common questions about glitch and zalgo text

What is a glitch text generator?
It takes ordinary text and attaches extra Unicode combining marks to each character, so the letters appear to overflow upward and downward out of their line. The letters themselves are unchanged and the output is still plain text, which is why it can be copied into a bio, a display name or a chat message.
Is glitch text the same as a glitch effect on a photo?
No, and they are the two things most often confused. Glitch text is corrupted characters: real Unicode you copy and paste into a bio, a username or a chat message, and it stays text wherever it lands. A glitch effect is a visual filter, RGB channel separation, chromatic aberration, scanline tearing and slice displacement applied to a picture, a video or a wall of ASCII art, and the output is an image or a video. This page makes the text. The glitch photo and video effect is a different tool in the editor, and the animated WebGL Glitch effect on ASCII banners is on the text to ASCII generator.
What is zalgo text?
Zalgo text is the heaviest form of glitch text. It stacks many combining diacritical marks from the Unicode range U+0300 to U+036F onto every character, above, through and below, until the text bleeds into the lines around it. The name comes from a 2004 internet horror meme in which corrupted, overflowing text signalled that something had gone wrong.
How do combining characters work?
A combining mark is a Unicode character with no width of its own. It attaches to whatever character comes before it and is drawn on top of that character's cell. Unicode sets no limit on how many marks can attach to one base character, so a renderer will happily stack twelve accents above a single letter. That stacking is the entire effect.
Where does glitch text work, and where does it break?
It renders in most places that show raw Unicode: chat messages, code comments, many display-name fields, documents. It breaks where a platform normalizes text, strips marks it treats as decoration, caps how many it will draw per character, or clips overflow to the line box. Behaviour also differs between the web and native apps on the same platform, and it changes over time, so test the exact destination with a short string first.
Why is my glitch text so long when I paste it?
Every combining mark is its own character. A twelve-character word with ten marks on each letter is about 130 characters as far as any counter is concerned, even though it still looks like one word. That is why heavy zalgo overruns bio limits and capped username fields. Lower the intensity or switch off one of the three directions to bring the count down, and watch the output counter under the preview.
Can I use glitch text in a username?
Sometimes. Many platforms restrict usernames to a limited character set and reject combining marks outright, while display names are usually more permissive. Where it is allowed, keep the intensity low: a heavy stack is often read as abuse of the field and can attract moderation, and it makes your name unreadable to anyone using a screen reader.
Is glitch text bad for accessibility?
Yes, in most cases. A screen reader announces the base letters and often the marks as well, so a glitched word can be read out as a long run of accent names. Search, copy and text selection also behave oddly. Use it as decoration on a short label, never for information a reader actually needs.
What is the difference between glitch text, zalgo text and cursed text?
They are the same mechanism at different intensities. Glitch text usually means a light version tuned for a bio or a username, zalgo text means the heavy overflowing version, and cursed or corrupted text is the informal name for anything in between. All three are combining marks stacked on ordinary characters.
How do I make strikethrough or underlined text without formatting?
Use a combining mark instead of formatting. U+0336 draws a long stroke through each character and U+0332 draws a low line beneath it, so the effect travels with the text into places that have no bold or underline button. The Strikethrough, Underline and Overline presets above apply exactly one of those marks per character, with no randomness.
Does the glitch text generator upload my text anywhere?
No. It is plain JavaScript running in your browser. Your text is never sent to a server, and the page makes no network calls to produce the output.
Can I turn text into ASCII art instead?
Yes, that is a different tool here. The text to ASCII generator redraws each letter as a large banner built from smaller characters using FIGlet fonts, and the image to ASCII converter turns a photo into characters by brightness. Glitch text keeps the letters and decorates them, ASCII art rebuilds them.

/DO MORE WITH ASCII MAGIC

Glitch your photos and video, not just your text.

The studio behind this page turns images and video into ASCII, pixel art, dither, halftone, voxel and glitch. No signup, no upload, export PNG, GIF or MP4.

Open the editor →

/RELATED

More on text and characters

This page decorates letters with combining marks. To rebuild letters as ASCII banners, or to turn a photo into characters, open the full studio.