pyfiglet
Pure-python FIGlet implementation
What it is and what it does
pyfiglet is a pure-Python port of the classic FIGlet command-line tool that converts ASCII text into ASCII art using stylized fonts. It supports kerning and smushing (character overlap) to produce output identical to the original C implementation. The package includes a collection of fonts and can be used either as a standalone command-line utility or embedded in Python code as a library.
The main use case is generating decorative ASCII art text for terminal output, documentation headers, or console-based applications. It has no external runtime dependencies, making it lightweight and easy to integrate. The package is actively maintained, supports Python 3.7 through 3.11, and has been in development since 2012.
Use it for:
- Generate decorative ASCII art headers for terminal applications or logs.
- Create stylized text banners for CLI tools and command-line interfaces.
- Embed ASCII art rendering in Python scripts without calling external programs.
- Add visual text effects to documentation or README files.
- Build ASCII art generators or text-art display utilities.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Renders ASCII text as ASCII art using a variety of fonts, available both as a command-line tool and a Python library.
Yes. pyfiglet is a lightweight, zero-dependency library with active maintenance, no known vulnerabilities, and permissive licensing. Install it if you need ASCII art text rendering in Python or at the command line; the low friction and stable API make it a straightforward addition to any project.
Install
pyfiglet on PyPI
pip
pip install pyfigletuv
uv add pyfigletpoetry
poetry add pyfigletInstalling pyfiglet
Before you install
Low friction: pure Python wheel with no runtime dependencies. Actively maintained with recent release (364 days ago) and 1580 repository stars.
License in practice
MIT license (permissive) allows use, modification, and redistribution with minimal restrictions.
Quickstart
pip install pyfiglet
from pyfiglet import Figlet
f = Figlet(font='slant')
print(f.renderText('Hello'))
Requires Python 3.9 or later.
Verify before relying
- Whether all included fonts have confirmed redistribution rights or if some remain in legal gray area as described in the FAQ.
- Performance characteristics when rendering very large text or with complex fonts.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 364 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 6,697,248/month — #1,871 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyfiglet-1.0.4-py3-none-any.whl
Tags
More Text Processing packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyparsingpyparsing provides a library for building text…
permissive · top 1,000 on PyPI
docutilsDocutils converts plaintext documentation in…
unclear · top 1,000 on PyPI
RapidFuzzRapidFuzz provides fast fuzzy string matching…
permissive · top 1,000 on PyPI
tinycss2tinycss2 parses CSS strings into token and…
permissive · top 1,000 on PyPI
llama-parseLlamaParse parses complex documents (PDFs,…
permissive · top 1,000 on PyPI
artConverts text and generates one-line ASCII art…
permissive · top 5,000 on PyPI
rich-pyfigletRenders ASCII art banners in the terminal using…
permissive · top 15,000 on PyPI
uharfbuzzCython bindings for HarfBuzz that shape text…
permissive · top 5,000 on PyPI
fontbakeryFont Bakery is a command-line tool that checks…
unclear · top 15,000 on PyPI
pycowsayDisplays text in a formatted ASCII art cow…
permissive · top 15,000 on PyPI
graphttyRenders directed graphs as colored ASCII art in…
permissive · top 15,000 on PyPI
cowsayRenders ASCII art animals and custom characters…
copyleft · top 5,000 on PyPI
japanize-matplotlibEnables matplotlib to display Japanese text in…
permissive · top 15,000 on PyPI
pymupdf-fontsProvides a collection of optional fonts…
unclear · top 15,000 on PyPI
ascii-guardDetects and fixes misaligned ASCII art boxes in…
permissive · top 15,000 on PyPI