skillfed

zalgolib

A Python library for a _FULL_ Zalgo experience

zalgolib v0.2.2 103.6K downloads/30d#12,797 on PyPI6
Permissive license MIT License Copyright (c) 2022 Yatri Trivedi Copyright (c) 2017 Greg Pritchard Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated… (full text in the JSON record) DORMANT released

What it is and what it does

Zalgolib is a Python library for generating and removing Zalgo text—text decorated with stacked Unicode combining diacritical marks that create a visually chaotic or "corrupted" effect. It provides two main functions: enzalgofy() adds combining marks to text at a configurable intensity (0–100, representing a rough percentage of marks per character), and dezalgofy() strips those marks by converting to ASCII and back to UTF-8. The library includes curated lists of 40 downward marks, 46 upward marks, and 21 midline marks drawn from the Unicode combining diacritics space.

The package has no external dependencies beyond Python's standard library random module. It is designed to be lightweight and customizable—users can extend the diacritics lists directly in their own code or modify the module itself. The author emphasizes functionality and periodic maintenance, though the project has been dormant since December 2023.

Use it for:

  • Generate visually striking or humorous Zalgo text for social media posts, chat messages, or creative writing.
  • Strip Zalgo text back to readable ASCII when cleaning user input or text from untrusted sources.
  • Experiment with Unicode combining marks and diacritical mark placement for linguistic or typographic research.
  • Obfuscate or encode text for novelty or aesthetic purposes in applications or games.
  • Extend the diacritics lists to include marks from other Unicode blocks or non-Latin writing systems.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Encodes text with overlapping Unicode diacritical marks to create Zalgo text, and decodes Zalgo text back to plain ASCII by stripping combining marks.

Yes, if you need Zalgo text generation or decoding. The package is lightweight (no external dependencies), permissively licensed, and has no known vulnerabilities. The dormant maintenance status is not a concern for a narrow, self-contained utility. Install if you have an actual use case for Zalgo text; otherwise it is niche.

Install

zalgolib on PyPI

pip

pip install zalgolib

uv

uv add zalgolib

poetry

poetry add zalgolib

Installing zalgolib

Before you install

No runtime dependencies beyond the standard library. Dormant since late 2023 (981 days), but the repository is not archived and the codebase is straightforward enough that lack of recent updates poses minimal risk for a utility of this scope.

License in practice

MIT license is permissive; you may use, modify, and distribute the package freely with minimal restrictions, provided you retain the copyright notice.

Quickstart

pip install zalgolib

from zalgolib import enzalgofy, dezalgofy

zalgo_text = enzalgofy(text='hello', intensity=50)
plain_text = dezalgofy(zalgo_text)

Requires Python 3.7 or later; relies on random.choices() from the standard library.

Verify before relying

  • Whether dezalgofy correctly preserves intentional accented characters in the original text, or whether it strips all combining marks indiscriminately.
  • Performance characteristics when processing very large strings or high intensity values.

Package facts

License MIT License Copyright (c) 2022 Yatri Trivedi Copyright (c) 2017 Greg Pritchard Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated… (full text in the JSON record) (permissive)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance dormant — 981 days since the last release
Last repo commit
First released
Downloads 103,562/month — #12,797 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: zalgolib-0.2.2-py3-none-any.whl

Keywords: diacritics, horror, language encoding, obfuscation, text processing, zalgo

Natural Language :: EnglishOperating System :: POSIX :: LinuxProgramming Language :: Python :: 3Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Text Processing :: General

Tags

zalgo text generatorunicode diacritics encoderzalgo encoding decodingcombining marks textzalgo obfuscationtext diacritical markshorror text effect
unicode-textnovelty-utility

More General packages