How Glitch Text Works: The Unicode Technology Behind Zalgo & Cursed Text
Glitch text works by stacking Unicode combining diacritical marks (characters from the U+0300–U+036F block) onto ordinary letters. These marks were designed for accents in languages like French and Vietnamese, but glitch generators attach dozens per letter, causing the chaotic vertical stretching known as Zalgo or cursed text. The effect is pure Unicode. No fonts or special software required.
01 What Is Glitch Text?
You've seen it everywhere: text that appears corrupted, stretching vertically with strange marks cascading above and below each letter. It goes by many names: glitch text, Zalgo text, cursed text, corrupted text, creepy text. Some people call it a weird text effect or a corrupted font look. Despite how it looks, nothing is actually broken.
Glitch text is plain Unicode text. It can be copied, pasted, and sent through any system that supports Unicode, which is virtually every modern platform. The visual chaos comes from stacking combining diacritical marks on top of ordinary characters, far beyond how those marks were originally intended to be used.
That "copy anywhere" quality is the whole point. Since it's just text, it works in Discord bios, TikTok usernames, Instagram captions, and anywhere else you can type. The question isn't whether it will paste. It's why it looks the way it does. That's what the rest of this article covers. If you just want to generate some, the tool is one click away from our corrupted text generator.
This article explains the technology behind the effect, from Unicode fundamentals to the specific character ranges that glitch generators use. Whether you're looking to create copy-paste glitch text, understand how the unicode text art effect actually works, or just satisfy your curiosity. By the end you'll know exactly what's happening. Along the way, you'll interact with live demos that let you build glitch text one combining mark at a time and inspect what's actually hidden inside any glitched string.
02 What Is Unicode and Why Does Glitch Text Depend on It?
Before Unicode, computers used competing encoding systems like ASCII, ISO 8859, and various national standards. ASCII only covered 128 characters, enough for English but useless for the thousands of characters in Chinese, Arabic, Hindi, or even accented European languages. If you sent a French document from a Mac to a Windows PC, accented characters might display as garbage.
Unicode solved this by assigning a unique number (a code point) to every character in every writing system. The letter "A" is U+0041. The Arabic letter "ع" is U+0639. An emoji like "🔥" is U+1F525. As of Unicode 17.0 (released September 2025), there are over 159,000 defined characters covering 172 scripts.
What are code points, characters, and glyphs?
A code point is the unique number assigned to a character (written as U+ followed by hexadecimal digits). A character is an abstract unit of text. The letter "é" is one character, even though it can be represented by one or two code points. A glyph is the visual shape your device draws on screen. The same code point can produce different glyphs depending on your font and rendering engine.
Precomposed: U+00E9 (one code point, LATIN SMALL LETTER E WITH ACUTE)
Decomposed: U+0065 + U+0301 (two code points: "e" + COMBINING ACUTE ACCENT)
That second form (a base character plus a combining mark) is exactly the mechanism that makes glitch text possible. Unicode was designed to support this decomposed approach, and every modern system is required to render combining marks correctly. Glitch generators simply take this legitimate feature and push it to an extreme.
03 What Are Combining Diacritical Marks?
Combining diacritical marks are Unicode characters in the U+0300–U+036F block that attach above, below, or through a preceding base character to modify its appearance. The block contains 112 characters including accents, tildes, dots, and hooks. Glitch text generators exploit these marks by stacking many of them onto a single letter, far exceeding their intended use.
These marks exist for legitimate linguistic reasons. Vietnamese uses up to two combining marks on a single vowel: one to modify the vowel shape and one for tone. Hebrew and Arabic use combining marks for vowel pointing. Musical notation, mathematical typography, and the International Phonetic Alphabet all depend on them. The Unicode specification defines precisely how these marks should be positioned, and MDN Web Docs covers how browsers handle Unicode normalization and text rendering. The W3C further defines how characters, code points, and glyphs relate in web standards.
How does stacking combining marks create glitch text?
A glitch text generator works by inserting multiple combining characters after each base character in your input text. Where a French word might use one combining acute accent, a Zalgo generator inserts 5, 10, or even 30+ combining marks per letter. The rendering engine tries its best to draw all of them, and the result is the chaotic vertical stretching you see.
Live Stacking Demo Interactive
Click "Add Mark" to attach one random combining character at a time. Watch the letter transform as marks accumulate.
Beyond the primary block, additional combining characters appear in extended Unicode ranges: Combining Diacritical Marks Extended (U+1AB0–U+1AFF), Combining Diacritical Marks Supplement (U+1DC0–U+1DFF), and Combining Half Marks (U+FE20–U+FE2F). Most glitch generators primarily use the U+0300–U+036F range because it has the widest rendering support across platforms.
04 What Are the Three Stacking Positions in Glitch Text?
Not all combining marks attach in the same position. The U+0300–U+036F block contains marks that render in three distinct zones relative to the base character: above, through the middle (overlaid), and below. The ratio you use in each position is what gives different glitch styles their look.
| Position | Range | Example Marks | Sample | Visual Effect |
|---|---|---|---|---|
| Above | U+0300–U+0315 | Grave, acute, circumflex, tilde, macron, overline, breve, dot, diaeresis, ring, double acute | à́̂̃̄ | Tall, heaven-reaching distortion, the classic "Zalgo rises" look |
| Middle | U+0334–U+0338 | Tilde overlay, short stroke overlay, long stroke overlay, short solidus, long solidus | a̴̵̶̷̸ | Strikethrough corruption: makes text look "slashed" or "deleted" |
| Below | U+0316–U+0333 | Grave below, acute below, cedilla, ogonek, vertical line below, bridge below, inverted breve below | a̖̗̘̙̚ | Dripping, descending distortion, the "melting" or "void" look |
How different ratios create different effects
A "classic Zalgo" effect uses heavy above stacking with moderate below, creating text that seems to erupt upward. A "dripping" or "void" style favors below marks, giving the impression that text is melting into darkness. A "static" or "interference" style uses mostly middle overlay marks for a corrupted-signal appearance. The best glitch generators let you control each zone independently.
Drip (melt): 15% above, 5% middle, 80% below
Static (noise): 30% above, 40% middle, 30% below
Subtle (whisper): 2–3 marks total, any position
05 Why Glitch Text Looks Different Everywhere
If you've ever sent glitch text to a friend and they said "it looks different on my screen," they weren't imagining things. The same Unicode string can render very differently depending on the operating system, browser, and font stack involved.
How do browsers and operating systems render glitch text?
When your device encounters text with combining marks, it passes through a shaping engine, software that decides where to place each mark. On macOS and iOS, that's Core Text. On Android and Chrome OS, it's HarfBuzz. On Windows, it's DirectWrite. Each engine makes different decisions about how to stack, overlap, and clip combining marks, especially when there are far more marks than the system was designed to handle.
Fonts also play a role. The system font (San Francisco on Apple, Roboto/Noto on Google, Segoe UI on Windows) includes different glyph metrics and anchor points for combining marks. Some fonts handle large stacks gracefully by compressing them; others let them overflow wildly. This is why the same Zalgo text might look dramatically tall on Chrome/Windows but more compact on Safari/iOS.
Rendering Comparison Live
The glitched text below is the same Unicode string for everyone. How it looks depends on your device.
Browser rendering engines add another layer of variation. Blink (Chrome, Edge, Opera), WebKit (Safari), and Gecko (Firefox) each implement the CSS and text layout specifications slightly differently. Gecko tends to render combining marks more tightly, while Blink allows more vertical overflow. These differences are especially visible at high glitch intensities.
06 Why Does Glitch Text Use So Many Characters?
Glitch text is deceptively heavy. A two-letter word like "Hi" appears to take up two characters of space, but once glitched, it might contain 50 or more Unicode code points. Each combining mark is a separate code point, even though it visually attaches to the preceding base character.
Glitched (medium): "H̸̛̗̣̩̱̽̈́͑̚i̴̡̧̛͍̫̲̻̽̿̈́̕" → 2 visible letters, 25+ code points
Glitched (extreme): 2 visible letters, 80+ code points
This matters for platform character limits. Twitter/X applies NFC normalization (one of four Unicode normalization forms that converts decomposed character sequences back into precomposed equivalents where possible) and then uses a weighted character-counting system. Most characters count as one, but characters above U+1100 count as two. Since the combining marks used in glitch text cannot be precomposed by normalization, each mark still counts individually against the 280-character limit. A glitched 10-letter word might consume half your available characters. Discord, iMessage, and WhatsApp each handle this differently. Some platforms count grapheme clusters (sequences of one or more code points that a reader perceives as a single character), which is more forgiving for glitch text, since a base letter plus all its combining marks counts as one unit.
Use the inspector below to paste any glitch text and see exactly what's inside it: every base character, every combining mark, and the total code point count. For a full breakdown of how each platform handles glitch text character limits, see our guide to glitch text on social media.
Unicode Inspector Interactive
Paste any glitch text below to see every Unicode character hiding inside it.
07 Is Glitch Text Accessible to Screen Readers?
Glitch text creates a serious accessibility barrier. Screen readers (assistive technology used by people who are blind or have low vision) attempt to announce every combining character by its Unicode name. A single glitched letter "A" with 15 combining marks would be read as something like: "A, combining grave accent, combining acute accent, combining circumflex accent, combining tilde, combining macron…" and so on for every mark.
That makes glitch text effectively unusable for screen reader users. A short glitched sentence that takes a sighted person a second to read might take a screen reader thirty seconds to announce, producing nothing but a confusing list of diacritical mark names.
How can you use glitch text responsibly?
If you use glitch text in social media bios, usernames, or posts, consider providing a plain-text alternative. On platforms that support alt text or descriptions, include the unglitched version. Avoid using glitch text for critical information that everyone needs to read. And in any web content you control, use aria-label or aria-hidden attributes to provide screen readers with a clean alternative. WCAG (Web Content Accessibility Guidelines), the international standard for web accessibility, recommends providing text alternatives for any content that depends on visual rendering.
<span class="sr-only">Hello</span>
08 Where Did Zalgo Text Come From?
The name "Zalgo" traces back to the Something Awful forums. On July 27, 2004, a user named "Shmorky" (Dave Kelly) uploaded edited versions of syndicated newspaper comics, including Nancy and Archie, to his personal website, incorporating the word "Zalgo" and distorting the characters into something ominous. The entity Zalgo became a creepypasta archetype: a Lovecraftian force of digital corruption associated with the phrase "HE COMES."
Although Zalgo was well-known on Something Awful, search interest peaked around March 2009 when the meme spread to 4chan. Web developers realized they could replicate the visual distortion using Unicode combining characters rather than image editing. Early Zalgo text generators appeared on sites like eeemo.net (created by tchouky), making the effect accessible to anyone who could type into a text box. The phrase "Z̤͂a̢ḷ̠g̡̟o̗̟" became synonymous with digitally corrupted text.
From there, glitch text moved well past its horror-meme roots. The "glitchcore" and vaporwave aesthetics adopted corrupted text as a design tool. Social media users figured out it made usernames and bios stand out. Today it shows up in gaming communities, digital art, music promotion, and branding, anywhere a sense of digital distortion or edge is useful.
Glitch text is one of several Unicode text effects that exploit the standard's creative flexibility. Vaporwave text uses fullwidth characters from the U+FF01–U+FF5E block, which is a completely different mechanism. Strikethrough effects use U+0336 (combining long stroke overlay), which is actually part of the same combining marks block. Upside-down and mirror text use Unicode's mathematical and letterlike symbol blocks. Each style works by a different mechanism, but all are made of standard Unicode, which is why they all copy and paste freely across platforms. Glitch text's combining marks approach is the most visually dramatic because it exploits the rendering engine's vertical overflow behavior, something the others don't trigger.
09 Frequently Asked Questions
Is glitch text the same as a font?
No. Glitch text uses Unicode combining characters that are part of standard text encoding. It works in any text field without installing anything. A font is a separate file (OTF/TTF) that changes how characters are visually rendered and only works in applications that support custom fonts, like design software or word processors. When you paste glitch text, you're pasting actual Unicode characters, not changing the font.
What Unicode block do combining marks come from?
The primary block is Combining Diacritical Marks at U+0300–U+036F, which contains 112 characters. Extended blocks include Combining Diacritical Marks Extended (U+1AB0–U+1AFF), Combining Diacritical Marks Supplement (U+1DC0–U+1DFF), and Combining Half Marks (U+FE20–U+FE2F). Most glitch generators use the primary block for maximum cross-platform compatibility.
Can I create glitch text programmatically?
Yes. In JavaScript, you can insert combining characters using String.fromCodePoint(). For example, String.fromCodePoint(0x0300) produces a combining grave accent. To glitch a string, iterate through each character and append random code points from the U+0300–U+036F range. Control intensity by varying how many marks you add per character.
Why does glitch text look different on my phone vs. my computer?
Different operating systems use different text shaping engines and default fonts. iOS uses Core Text with San Francisco, Android uses HarfBuzz with Roboto/Noto, and Windows uses DirectWrite with Segoe UI. Each engine handles the stacking and overflow of combining marks differently, producing varying visual results from the same Unicode string.
Will glitch text break character limits on social media?
It can eat your limit faster than you'd expect. Twitter/X uses NFC normalization and weighted counting, but Zalgo-style combining marks can't be normalized away, so each one burns a character. A word with moderate glitch intensity can easily cost 10 to 15 characters instead of its actual length. Some platforms are more forgiving depending on how they implement their character counters, but none publicly document counting by grapheme cluster for user-generated text limits. Test at low intensity first if you're posting within a limit.
Is glitch text accessible to screen readers?
Basically, no. A screen reader doesn't see the visual effect. It reads the raw characters. So "H̵e̸l̴l̵o̶" becomes "H, combining short stroke overlay, e, combining tilde overlay…" for every letter. It's disorienting and often unlistenable. If you're placing glitch text anywhere that matters for accessibility, add aria-hidden="true" to hide it from screen readers and put the plain version in a visually-hidden <span> alongside it.
Is Zalgo text safe to use?
Yes. Zalgo text is standard Unicode: it contains no malware, executable code, or hidden data. It can't harm your device or account. However, some platforms may flag heavily glitched text as spam, and extremely long strings with hundreds of combining marks per character can cause performance slowdowns in text input fields.
Does glitch text work on Discord, Instagram, and TikTok?
Glitch text works on most platforms that support Unicode, including Discord, Instagram bios, TikTok usernames, Twitter/X, Facebook, and WhatsApp. Some platforms may strip or limit combining marks in certain fields. Discord and Twitter/X offer the most reliable rendering. Instagram may compress combining marks in captions but generally displays them in bios.
How do I remove glitch text or clean up Zalgo text?
To remove glitch text, paste it into a Unicode text normalizer or run a regular expression that strips combining characters in the U+0300–U+036F range. In JavaScript, use text.normalize("NFD").replace(/[\u0300-\u036f]/g, ""). You can also paste glitched text into a plain-text editor, which sometimes strips non-standard marks, though results vary by editor.
What is the difference between Zalgo text and glitch text?
Zalgo text is a specific style of glitch text named after an internet creepypasta character. It typically features heavy vertical distortion with combining marks stacked above and below each letter. Glitch text is the broader category that includes Zalgo, strikethrough effects, vaporwave styling, and other Unicode-based text transformations. All Zalgo text is glitch text, but not all glitch text is Zalgo.
Try It Yourself
Now that you know what's actually happening when glitch text renders, put that knowledge to use with our free generators.