unicode · platforms · guides
Why Does Zalgo Text Break Discord
Zalgo text breaks Discord when combining marks blow past the 2,000-character cap and mobile clients choke on tall stacks. Here's the fix.
Published · 1 min read

Someone pasted a twelve-word zalgo joke into a Discord server and the whole channel stuttered. The visible line was short. The string behind it was not. That is what people mean when they say zalgo text break Discord: the glitch looks small, but the payload is huge. Build the string in the Zalgo Text Generator at low intensity before you paste into a busy thread.
Zalgo text is plain letters with stacks of combining diacritical marks layered above and below each character. Discord does not treat those marks as decoration. It counts them. Paste hard enough and you hit limits, layout bugs, or both. Below is the order of failure: message length first, then the mark stack itself, then mobile rendering, then what to do about a message that already went wrong.
Why does zalgo blow through Discord's character cap?
Discord caps standard messages at 2,000 characters per the Discord FAQ on message limits. Zalgo blows through that cap because every combining mark is a separate code point in the string you paste. The word hello is five characters. The same word with ten marks per letter is fifty-five code points before you add a space. Scale that to a full sentence at high intensity and the clipboard holds thousands of invisible units while your eyes still read six words.
Discord's client checks the count at send time. Over 2,000 means no send. No partial trim. You stare at the red outline and guess what happened.
Unicode Standard Annex #15 defines how NFC and NFKC normalization reshapes pasted text. Most zalgo marks survive, but any re-encode step can change the final count. Two people copy the same meme; one sends, one gets blocked.
How do combining marks turn one word into hundreds of code points?
Combining marks are non-spacing characters defined to attach to the preceding base letter. The Combining Diacritical Marks block starts at U+0300. A zalgo generator leaves the base letter alone and appends marks immediately after it in the string. Renderers merge mark and letter into one glyph on screen. The clipboard still stores each mark separately.
The Zalgo Text Generator pulls marks from U+0300 through U+036F, U+1AB0 through U+1AFF, U+1DC0 through U+1DFF, U+20D0 through U+20FF, and U+FE20 through U+FE2F. At intensity 3 it adds 2 to 6 marks per letter. At intensity 5 it adds 8 to 25. The base spelling stays readable if you strip marks. The code-point count does not.
Take corrupted (nine letters). At intensity 2 you add roughly twenty marks. At intensity 5 you add over one hundred to the same word. The tool stops at fifty thousand code points with a warning. Discord stops at two thousand. That gap between what you see and what the string holds is the whole problem.
| Intensity | Marks per letter (this site) | hello approximate count | Risk on Discord |
|---|---|---|---|
| 1 | 0 to 1 | 5 to 10 | Low for short lines |
| 2 | 1 to 3 | 10 to 20 | Safe for five-word jokes |
| 3 | 2 to 6 | 15 to 35 | Watch full sentences |
| 5 | 8 to 25 | 45 to 130+ | Often blocks send |
Why does mobile Discord make tall zalgo stacks worse?
Mobile Discord runs the same character limit but a tighter layout. Combining stacks increase line height because each mark requests vertical drawing space above and below the baseline. On a phone screen that means fewer visible words per viewport and more scroll to read a reply chain.
Tall zalgo lines force larger texture uploads per bubble. On older phones the UI can hitch or clip the top of a stack. Desktop has more horizontal room, so the same string often looks ugly instead of broken.
Screen readers announce each mark, which makes zalgo in pins, topics, and role names hostile to accessibility even when sighted users tolerate the visual noise. Skip zalgo in anything people must hear correctly.
Moderation bots on busy servers sometimes flag messages with unusually high combining-mark density even when the character count stays legal. The mechanism is pattern matching on Unicode categories, not a separate zalgo setting in Discord. A short line at intensity 5 can trip those filters while the same phrase at intensity 1 sails through. That is separate from the hard 2,000-character block, but it feels the same when your message never appears.
Reply threads amplify layout pain. A tall zalgo parent message forces every nested reply to scroll past extra vertical padding. Desktop users zoom out. Mobile users bail. The visible phrase did not get longer. The render box did.
How do you fix a zalgo message that already broke?
If the message never sent, shorten it. Drop intensity, remove words, or split across two messages with a gap between them. There is no Discord setting to raise the cap for zalgo.
If it already posted, edit or delete it. Replace with plain letters or intensity 1. To recover readable text from clipboard, strip combining characters in a normalizer or re-run through the generator at minimum intensity. Do not paste a second zalgo wall to balance the first.
For how generators build these strings in the first place, start with What is a Text Generator.
What should you check before pasting zalgo into a channel?
Build the string in a preview first. Type a short phrase in the generator, pick intensity 1 or 2 for public servers, and read the output in the preview box. If the preview scrolls vertically inside a fixed-height container, the Discord bubble will do worse.
A five-word joke at intensity 2 usually stays under five hundred code points. The same joke at intensity 5 can cross two thousand without looking longer. Send one short line in a test channel before you spam a busy thread.
I've watched a six-word zalgo paste fail on mobile while the desktop client showed the same string fine, which is why intensity 2 is my ceiling for public servers.
Does Discord strip zalgo marks or just block long strings?
Most zalgo text break Discord reports are length and layout failures, not mark stripping. Discord stores UTF-8 combining sequences in chat messages when they fit under the cap. Normalization may reorder some marks, but the count usually stays high enough to block send anyway.
Stripping shows up more often in usernames, server nicknames with strict character classes, and webhook payloads that sanitize input before display. Chat is permissive until the string is too long or too tall to render. If your zalgo reverts to plain Latin after a successful send, suspect an edit pass or a client-side preview sanitizer, not the initial message pipeline.
Role names and channel topics deserve extra caution. A short zalgo role label can break the member list sidebar on mobile even when the character count looks legal. Plain ASCII roles still look chaotic enough for most jokes. Save zalgo for disposable chat lines, not infrastructure labels people scroll past daily. When you need visible flair without stacking marks, How to Choose a Fancy Text Generator walks through safer Unicode styles for bios and chat.
Frequently asked questions about zalgo text on Discord
Why does Discord reject some zalgo messages before you hit Send?
Discord enforces a 2,000-character limit per message. Zalgo strings count every combining mark as its own character, so a short visible phrase can expand past the cap. The client blocks the send instead of truncating silently.
What is the difference between zalgo breaking and Discord stripping marks?
Breaking usually means the message never sends or clips because of length or layout overflow. Stripping means normalization or sanitization removes combining marks and leaves plain letters. Zalgo failures on Discord are more often length and rendering than mark removal.
Why does the same zalgo paste look fine on desktop but wreck mobile Discord?
Mobile clients render inside a narrower viewport and use different line-breaking rules. Tall combining stacks need more vertical space per line, so messages overlap, scroll awkwardly, or push reply threads out of alignment even when the character count is legal.
What Unicode blocks do zalgo generators pull marks from?
Typical generators sample Combining Diacritical Marks (U+0300 through U+036F), Combining Diacritical Marks Extended (U+1AB0 through U+1AFF), Combining Diacritical Marks Supplement (U+1DC0 through U+1DFF), Combining Marks for Symbols (U+20D0 through U+20FF), and Combining Half Marks (U+FE20 through U+FE2F). Each mark stacks on the preceding base letter.
Why does intensity 5 break channels faster than intensity 2?
Higher intensity adds more marks per base letter. On this site's generator, intensity 5 attaches 8 to 25 marks per character while intensity 2 attaches 1 to 3. A twelve-word paste at level 5 can cross 2,000 code points before you finish the sentence.
What should you do before posting zalgo in a public server?
Generate at intensity 1 or 2, paste into a draft or the tool preview, and check the code-point count. Send one short line first in a test channel. If the preview already scrolls vertically inside the box, dial the intensity down before you spam a busy channel.
Other Unicode text that misbehaves on chat apps
- What is a Text Generator
How Unicode mappers turn ASCII into stylized strings before you paste them anywhere.
- How to Choose a Fancy Text Generator
Pick a style that survives the platform you actually type in.
- Free Graffiti Fonts for Designers
When a PNG or installable font beats pasteable Unicode in design work.
About the author
Written by Alex Morgan, a front-end engineer specializing in Unicode text tools since 2019. Last updated: .
About Graffiti Generator