/TOOL · GLITCH TEXT
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.
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.
say something cursed
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.
Your text in all nine styles, each at the setting it was tuned for.
/WHAT IT 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
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 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
Enter a word or short phrase. The output redraws on every keystroke, and spaces and line breaks are left clean on purpose.
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.
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.
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
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.
Generally the friendliest home for glitch text, because message bodies usually pass raw Unicode straight through. Tall stacks still get clipped by tight message line heights, and some clients cap how many marks they will draw per character before giving up.
CheckSend one test message to yourself and read it in the mobile app, not just the desktop client.
The usual disappointment. Bios have hard character limits and every mark counts, so a glitched phrase can eat a whole bio. Display-name fields are often more permissive than the username itself, which is frequently restricted to a narrow character set that rejects marks outright.
CheckKeep the intensity low, switch off one direction, and watch the output counter above rather than the input counter.
Many feed layouts clip overflow to keep rows aligned, so the marks above and below get sliced. The string is intact, the rendering is not, and there is nothing you can change in the text to fix it.
CheckIf a feed clips it, drop the Up and Down marks and lean on Middle, which stays inside the glyph.
Word processors, design tools and note apps mostly render combining marks correctly because that is a normal typographic job for them. Watch out for line spacing set to a fixed value, which clips the stacks the same way a feed does.
CheckSet line spacing to a multiple rather than an exact point size before deciding it does not work.
Terminals assume one cell per character. Zero-width marks break that assumption, so cursor position, line wrapping and selection can all go wrong even when the characters are stored correctly. Some terminals handle it, some smear.
CheckFor anything terminal-shaped you want ASCII text banners instead, which are plain characters in a fixed grid.
The real cost. A screen reader announces the base letters and frequently the marks as well, so a glitched word can come out as a long run of accent names. Search, autocorrect and text selection all behave oddly around it too.
CheckUse glitch text as decoration on a short label only. Never put information a reader needs behind it.
/COMMON MISTAKES
Extreme is a demo setting. At full intensity a short phrase becomes a thousand characters and a solid column of ink, which reads as noise rather than as a word, and gets clipped almost everywhere.
FixStart at Mild and walk the slider up until the word stops being readable, then come back one notch.
Up and Down are what push the text out of its own line. That is the point in a chat message, and it is exactly what a fixed-height bio or a feed row will slice off.
FixFor anything with a fixed row height, keep Middle on and switch Up and Down off, or leave just Up on at a low intensity.
That box gives the text triple line spacing so nothing collides, which is the most flattering conditions the string will ever see. Real surfaces are tighter than that, and none of them can tell you what a different renderer with a different sanitiser will do.
FixJudge it on the three chat cards under the tool, which use realistic line heights and clip the last one on purpose. Then paste a two-word test into the real destination, on a phone as well as a desktop.
Glitch text defeats search, selection, translation and screen readers all at once. As decoration on a name it is fine. As the words of an actual message it is hostile, and a lot of platforms treat heavy use of it as abuse of the field.
FixKeep the readable version of the words somewhere in the same message or profile, and glitch only the ornamental part.
/ALSO ON THIS SITE
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
/DO MORE WITH ASCII MAGIC
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
This page decorates letters with combining marks. To rebuild letters as ASCII banners, or to turn a photo into characters, open the full studio.