Skip to main content

asciinator

Convert images to ANSI-colored ASCII/Unicode art in your terminal.

Supports three rendering modes:

  • halfblock (default) — Unicode upper-half-block (▀) with 24-bit foreground and background color. Packs two image rows per terminal line, doubling vertical resolution.
  • shade — Unicode shade blocks (█▓▒░) with 24-bit foreground color.
  • ascii — Classic ASCII ramp (@%#*+=-:.) with 24-bit foreground color.

Install

pip install asciinator

For SVG input support:

pip install 'asciinator[svg]'

Or with uv:

uv tool install asciinator

Usage

asciinator path/to/image.png
asciinator logo.jpg --mode shade
asciinator photo.png --mode ascii --chars "@%#*+=-:." --width 120
asciinator icon.svg --saturation 1.4 -o icon.ansi

Options

Option Description
--mode {ascii,shade,halfblock} Output mode (default: halfblock)
--chars CHARS Custom character ramp, darkest→brightest (ignored for halfblock)
--width N Output width in characters (default: terminal width)
--saturation F Color saturation multiplier (default: 1.0; >1 is more vivid)
-o FILE, --output FILE Also write output (with ANSI codes) to this file

Output is auto-sized to fit the terminal height. Your terminal must support 24-bit true color (most modern terminals do).

Development

This project uses uv for dependency management and builds.

# Run from source
uv run asciinator path/to/image.png

# Build wheel + sdist into dist/
uv build

# Install the built wheel for local smoke testing
uv tool install --from dist/asciinator-0.1.0-py3-none-any.whl asciinator

Publishing

Build artifacts first:

uv build

Dry-run on TestPyPI:

# Create a token at https://test.pypi.org/manage/account/token/
uv publish --publish-url https://test.pypi.org/legacy/ \
           --token pypi-<TESTPYPI_TOKEN>

# Verify install from TestPyPI
uv tool install --index-url https://test.pypi.org/simple/ \
                --extra-index-url https://pypi.org/simple/ \
                asciinator

Publish to real PyPI:

# Create a token at https://pypi.org/manage/account/token/
uv publish --token pypi-<PYPI_TOKEN>

You can also set UV_PUBLISH_TOKEN in your environment instead of passing --token.

License

MIT — see LICENSE.

Metadata

Release files for asciinator 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for asciinator 0.1.0
File Size Uploaded
asciinator-0.1.0.tar.gz 4.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for asciinator 0.1.0
File Interpreter ABI Platform
asciinator-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 11.1 kB

Release files / asciinator-0.1.0.tar.gz

Download URL asciinator-0.1.0.tar.gz
Size 4.7 kB
Tags Source
SHA-256 checksum
How to use checksums
1df8a50b07b4b78e53d78c54eb49148fc39b7655a4a718d0a20959698ba9f0d0
BLAKE2b-256 checksum
How to use checksums
f208ce232db5e837716903d66364e329eaa4dc1908412be6b8c29686951a2a3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / asciinator-0.1.0-py3-none-any.whl

Download URL asciinator-0.1.0-py3-none-any.whl
Size 6.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
118a160cf0ec7c484bab69f62e2a4f9d7cc18d0afc88dfe152344da74a7d550c
BLAKE2b-256 checksum
How to use checksums
4e991b9e9ce2eca0a4f4647101bcfb1afb841465b24b17467d345300cbc7da6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page