Does zalgo text survive Discord? A 4-app test
Published November 3, 2026 · Updated November 4, 2026
Most advice about zalgo text says the same thing: “it works everywhere that supports Unicode.” So we tested it. On 3 November 2026 we pasted the same zalgo text at four intensities into Discord, Telegram, WhatsApp and Slack, sent it, and compared what arrived with what we pasted, character by character.
The short version: WhatsApp and Slack deliver every mark. Telegram delivers almost every mark but turns three specific ones into plain spaces. Discord silently cuts every letter down to 5 marks (fewer in long messages), and your message box shows the full text right up until you press Enter.
Results
| App | What arrives | Mark limit | Light zalgo | Heavy zalgo |
|---|---|---|---|---|
| Exactly what you pasted | None found (20 marks per letter got through) | Intact | Intact | |
| Slack | The same text, normalized (looks identical) | None found | Intact | Intact |
| Telegram | Everything except 3 marks, which become spaces | None found | Intact | Mostly intact, with gaps |
| Discord | Trimmed to 5 marks per letter | 5 per letter, less in long messages | Intact | Cut by 70% |
“Light zalgo” is our Subtle preset (at most 4 marks on any letter in the test string). “Heavy zalgo” is 65/25/65 on the sliders (up to 17 marks on one letter).
Discord: 5 marks per letter
We sent strings with exactly 4, 5, 6 and 8 marks on every letter. Four and five arrived untouched. Six and eight both arrived with exactly five, always the first five in order. Mixing marks above and below the letter makes no difference: it’s the first five whatever their position.
Long messages lose more. A 20-letter message with 3 marks per letter came back with four letters stripped bare in the middle. With 5 marks per letter, eight of the twenty letters lost everything.
The trimming happens on Discord’s side when the message is sent. The text box held the full string before sending, and the saved message (what you see when you edit it) was already trimmed, so everyone in the channel sees the cut version.
| Intensity | Pasted (characters) | Discord kept |
|---|---|---|
| Subtle | 38 | 38 (all) |
| Default | 89 | 42 |
| Heavy | 136 | 40 |
| Max | 175 | 53 |
Telegram: three marks become spaces
Telegram has no mark limit: 8 marks per letter and a 20-letter message both arrived untouched. But when we sent all 113 combining marks in the U+0300–U+036F block (plus U+0489), exactly three came back as ordinary spaces:
- U+030A, combining ring above (˚)
- U+0333, combining double low line
- U+033F, combining double overline
A space in the middle of zalgo text splits the word visibly, so heavier text with any of these three gets small gaps. Everything else arrived exactly as sent.
WhatsApp and Slack: everything gets through
WhatsApp delivered every test byte for byte, including 20 marks on one letter. The text survives, but chat bubbles don’t grow taller, so heavy zalgo spills over the lines above and below.
Slack converts text to Unicode’s standard “NFC” form. Marks are reordered into a canonical order, and a letter plus an accent that has a ready-made character (a + ` becomes à) gets merged. The result looks identical and keeps every mark.
What to do
- For Discord, keep it to 5 marks per letter or fewer. Use the Subtle preset in the zalgo text generator, or keep the sliders low. Anything heavier looks fine in your message box and then gets cut when you send it. Nicknames have their own 32-character limit too. See the Discord guide.
- For Telegram, use text that avoids those three marks. After this test we removed them from FontGlitch’s generator (4 November 2026), so text made here no longer breaks on Telegram. Text from other generators still can: if you see unexpected gaps, that’s the cause.
- For WhatsApp, any intensity works, but go lighter if you don’t want it covering neighbouring messages. See the WhatsApp guide.
- For Slack, any intensity works.
How we tested
- Text: “zalgo test” generated with FontGlitch’s open-source engine at four fixed intensities (Subtle 15/0/15, Default 45/15/45, Heavy 65/25/65, Max 100/100/100) with a fixed seed, so the strings are reproducible. Plus controlled strings with exactly N marks per letter, and one string containing every combining mark from U+0300 to U+036F plus U+0489.
- Apps: the web versions of Discord, Telegram (Web A), WhatsApp and Slack in a desktop browser on 3 November 2026. Each message went to our own chat: a private Discord server, Telegram Saved Messages, WhatsApp “Message yourself” and a Slack DM to self.
- Check: each sent message was read back and compared character by character with the original. On Discord and Telegram we also opened the sent message in edit mode to confirm the trimmed text is what’s stored, not just how it’s displayed.
The test strings, the raw results and the generator script are public in zalgo-kit/study on GitHub. Mobile apps can behave differently from the web versions, and apps change their rules without notice, so check again before relying on an exact limit.