climage
Convert images to beautiful ANSI escape codes
What it is and what it does
CLImage is a Python library and CLI tool that renders images as ANSI escape code sequences suitable for display in terminal windows. It accepts image files, Pillow Image objects, or raw RGB arrays and converts them into colored text output, with support for ASCII or Unicode characters and color depths ranging from 8-color to full Truecolor. The library uses KDTrees for fast color lookup and memoization to optimize repeated conversions.
The package is designed for developers who need to display images in command-line interfaces, whether for visualization tools, terminal-based dashboards, or artistic rendering. It handles image resizing, color palette selection (including system palettes like Solarized), and provides both high-level conversion functions and lower-level helpers for pixel-by-pixel control over ANSI code generation.
Use it for:
- Display images in terminal-based dashboards or monitoring tools without leaving the CLI
- Convert image files to ANSI art for inclusion in terminal documentation or README files
- Render images in low-color environments (8 or 16 color TTYs) with theme-aware palette selection
- Build terminal UI applications that need to show image previews or thumbnails inline
- Generate ANSI art from programmatically created or filtered images using Pillow or NumPy
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Converts images to ANSI escape code sequences for display in terminal interfaces, supporting both ASCII and Unicode output with configurable color depths and terminal palettes.
Yes, if you need terminal image display and can tolerate aging maintenance. The package is stable, has no known vulnerabilities, and low install friction. However, the 684-day gap since last release and aging status suggest it may not receive bug fixes or feature updates; verify that its current behavior meets your terminal and color-depth requirements before depending on it for critical workflows.
Install
climage on PyPI
pip
pip install climageuv
uv add climagepoetry
poetry add climageInstalling climage
Before you install
Low install friction with a pure Python wheel and only two runtime dependencies (Pillow and kdtree). Maintenance status is aging—last commit was June 2025, and the package has not been updated in 684 days, though the repository remains active and unarchived.
License in practice
MIT License is permissive and places no significant restrictions on use, modification, or distribution in commercial or private projects.
Quickstart
pip install climage
import climage
output = climage.convert('image.png', is_unicode=True, width=50)
print(output)
Verify before relying
- Whether kdtree dependency is a compiled extension and what system prerequisites it may require
- Performance characteristics when processing large batches of images or very large individual images
- Actual terminal compatibility across different terminal emulators and color support detection
Package facts
| License | MIT License (permissive) |
| Python support | supports the current Python release (>=3.2) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — Pillow, kdtree |
| Maintenance | aging — 684 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 74,873/month — #14,779 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: climage-0.2.2-py3-none-any.whl
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
ansiProvides ANSI escape codes for cursor movement…
permissive · top 15,000 on PyPI
ascii-magicConverts images into ASCII art for display in…
permissive · top 15,000 on PyPI
asciimaticsAsciimatics provides cross-platform terminal UI…
permissive · top 15,000 on PyPI
rich-pixelsRenders pixel images and ASCII art grids to the…
unclear · top 15,000 on PyPI
colorfulColorful applies ANSI color and text styling to…
permissive · top 5,000 on PyPI
pansiPansi provides a clean interface for rendering…
permissive · top 15,000 on PyPI
coloredColored provides ANSI/VT100 escape sequences…
permissive · top 5,000 on PyPI
ansi2txtConverts ANSI escape sequences (color codes,…
unclear · top 15,000 on PyPI
epaper-ditheringConverts images to dithered output optimized…
permissive · top 15,000 on PyPI
textual-imageRenders images directly in terminal emulators…
copyleft · top 15,000 on PyPI