# Zalgo
## English
### Alternative forms

* zalgo

### Etymology

Said to have been coined in 2004 by Dave “Shmorky” Kelly as the name of a mysterious malevolent entity appearing in webcomics and creepypasta. This etymology is incomplete. You can help Wiktionary by elaborating on the origins of this term. needs non-KYM sources

### Noun

Zalgo (uncountable)
* (Internet slang) In full Zalgo text: text that appears corrupted or creepy due to the deliberate overuse of diacritics.
    Synonym: glitch text
    See also: heavy metal umlaut
** 2010 June 14, oonh, “Re: (Futurist Comments) That was Then, This is Now”, in alt.gothic (Usenet), message-ID <nfohe7-48k.ln1@abyss.ninehells.com>:> I've been wondering lately why more isn't done with Unicode-art. / > / the closest thing I can think to that is zalgo, which is more stupidity than art.
** 2010 August 11, Marak Squires, “Re: [nodejs] [javasc]”, in nodejs (Google Groups), ID AANLkTinMAjt-HK75kBiJa84rmd3MXJAz_Wx4Lyct6+=U@mail.gmail.com:i should also note that zalgo cannot be summoned on all operating systems / applications. i'm not sure of the exact requirements to make it render, but i'm sure someone smarter then me could answer.
** 2010 October 22, Matthew Garrett, “[PATCH] Add Zalgo support”, in fa.linux.kernel (Usenet), message-ID <fa.CpgkBfBod2+tK+RSA6JtXMFuaWY@ifi.uio.no>:Add support for Zalgo / The Linux kernel is woefully unprepared for the coming of Z҉A҉L҉G҉O̚̕̚ . T̀hi͘͡ş̸ p̸͏á̕t̢̕͢c̨̕h͟͟ ̴̧ą҉͘d͟͡d̢ş͡ s͏u̸͘p͠p̛͞͡o͟r̸t͜ ̷͟f̢͘͡o͜ŗ̛ ̴̧Z͝a҉lģ̡o͡ ̸t̕͞o̵͝ ̨k̶é͢r̶̨ne͘l҉҉̧ ͜m̶͞e̵s͘҉s̢̢͠a͠ǵ͟ę̸͞ ́oú͢͟tp̢̕͘u͞t͢ in order to ready those who will otherwise be ea͓̙ten at the arrival. Do n̹͝ot delͤ̀a̲̱͛y. [Add support for Zalgo / The Linux kernel is woefully unprepared for the coming of ZALGO. This patch adds support for Zalgo to kernel message output in order to ready those who will otherwise be eaten at the arrival. Do not delay.]
** 2013 March 16, Shark8, “Re: Is this expected behavior or not”, in comp.lang.ada (Usenet), message-ID <dfbf65c5-4f2e-4bb2-8b66-8db8ccb36d04@googlegroups.com>:Ah, things get tricky here; Unicode is kind of a bear when you consider 'characters' because its codepoints aren't necessarily characters. An example would be the so-called "combining characters" which you can use for things like accents or ZALGO-text.
** 2013 August 4, Parmy Olson, We Are Anonymous, Random House, →ISBN:But Jake could still play around with Zalgo script, a type of programmable font that packed lots of digital bytes into each letter.
** 2017 July 6, Shark8, “Re: GNAT vs UTF-8 source file names”, in comp.lang.ada (Usenet), message-ID <c65d0a6b-8dbb-4222-936f-838438e8d5bd@googlegroups.com>:I'm not saying it isn't complicated; I'm saying that it could, and should, have been done better. Instead we get a bizarre Frankenstein's-monster of techniques where some character-glyphs are precomposed (with duplicates across multiple languages) and Zalgo-script is a thing. (see: https://eeemo.net/ )
** 2017 October 10, Mike Ash, Matthew Elton, Gwynne Raskind, The Complete Friday Q&A, volume III, →ISBN:A single grapheme cluster is often one or two code points, but it can be a lot of code points in the case of something like Zalgo.
** 2019 August 5, Ben Kraft, “[vim/vim] Vim crashes on file with zalgo text when spellcheck is enabled (#4778)”, in vim_dev (Google Groups), ID vim/vim/issues/4778@github.com:I opened a file containing some zḁ̸̈̀l̷̠̹͊g̸̜͓͘ọ̷̰̝̆ te̸̘̋xṯ̸͒, [zalgo text] and vim crashed.
** 2020 May 25, Antony Johnston, The Tempus Project: The New Brigitte Sharp Thriller, →ISBN:She hid the browser — let it spawn a thousand windows in the background for all she cared, her processor could handle it — and brought up the NASC++ chat window. Sure enough, Imperium had sent her a message; a string of random characters in ‘zalgo text’. Zalgo was a form of type that exploited Unicode, the international standard for rendering language characters, adding a kaleidoscope of dozens of diacritical marks above and below every character. […] Bridge recalled a story about one zalgo message that shut down a user’s online email account by overloading it with characters; […]

### Proper noun

Zalgo
* (programming, humorous) A notional entity said to be "released" due to unpredictable program behaviour resulting from an API's inconsistent use of synchronous versus asynchronous operations.
** 2013 August 30, Paul, “Re: [nodejs] Downside to not wrapping sync callbacks in nextTick?”, in nodejs (Usenet), message-ID <53ece666-5929-41ba-843c-edc4350af00d@googlegroups.com>:Anyway. My personal opinion is that people are making a bigger deal about it than it needs to be. Just be aware that there could maybe potentially be an issue in your app if you release Zalgo, but don't spend the hours going through and wrapping everything in nextTick just to say you are Zalgo-free even if Zalgo being released has ever doomed you.
** 2013 August 30, Dean Landolt, “Re: [nodejs] Downside to not wrapping sync callbacks in nextTick?”, in nodejs (Usenet), message-ID <CAPm8pjp2ogU58Z5RsZ_RQb_O=iB3RBeoh1eyM6xp-0Vwm7cebQ@mail.gmail.com>:This works wonderfully, until you hit an exception in one of your zalgo-promise functions.
** 2014 December 30, Mario Casciaro, Luciano Mammino, “Chapter 6”, in Node.js Design Patterns, Packt, →ISBN, page 281:Another crucial detail is to consider the unleashing Zalgo anti-pattern (we have seen it in action in Chapter 1, Node.js Design Fundamentals).
** 2015 July, Daniel Parker, “Chapter 1: Asynchronous JavaScript”, in JavaScript with Promises: Managing Asynchronous Code, O'Reilly Media, →ISBN, page 6:The explosion in execution branches makes explaining and testing this approach difficult, and reliable behavior in a production environment more challenging. Isaac Schlueter has written a popular blog post about this titled “Designing APIs for Asynchrony,” in which he refers to the inconsistent behavior as “releasing Zalgo.”
** 2015, Robert Fischer, “Chapter 2: Understanding Lambdas in Java 8”, in Java Closures and Lambda, →ISBN, Don’t Release Zalgo, page 29:The JavaScript community, for instance, has discovered a monstrous entity named “Zalgo.” […] When you are passing around lambdas, it is easy to release Zalgo if you mix synchronous and asynchronous styles.

### Further reading

* Zalgo text on Wikipedia.Wikipedia

### Anagrams

* Zgola