Skip to main content

Convert images into ASCII art in Python

Project description

letter-art

Convert images into ASCII art with adjustable resolution and output format.

A simple and fun Python library to turn your images into terminal-ready retro text art.


Example

Original Image

Original

Converted ASCII Art (screenshot)

ASCII Art


Installation

pip install letter-art

Features

  • Convert any image to ASCII text art
  • Customizable width, height, and character aspect ratio
  • Choose to print the result or save it as a .txt / .html file
  • CLI (Command Line Interface) support
  • Minimal dependencies (Pillow only)

Quick Start (in Python)

from letter_art.converter import convert_image_to_ascii

# Basic usage: print to terminal
convert_image_to_ascii("sample.jpg", width=100, height=50, output="print")

# Save to a file
convert_image_to_ascii(
    image_path="sample.jpg",
    width=120,
    height=60,
    output="file",
    output_path="ascii_output.txt",
    output_format="txt"  # or "html"
)

Parameters

Parameter Type Default Description
image_path str (required) Path to the input image
width int 100 Width of the ASCII art (in characters)
height int calculated Height (optional). Auto-calculated if not provided
output str "print" "print" for terminal output, "file" to save
output_path str auto-named Path to output file if output="file"
output_format str "txt" "txt" or "html" output format
height_scale float 0.6 Vertical scale adjustment for character aspect ratio

CLI Usage

After installation, you can run it directly from the terminal using:

letter-art --image sample.jpg --width 150 --output file --format html

CLI Options

Option Description
--image Input image path (required)
--width Width in characters (default: 300)
--height Optional height
--output "print" or "file"
--output_path File path to save output (optional)
--format "txt" or "html"
--scale Vertical scaling factor (default 0.6)

Example CLI Output

$ letter-art --image test.jpg --width 200 --output file --format txt
✔ ASCII art saved to test.txt

Recommended Images

  • High-contrast images
  • Logos, icons, or face portraits
  • Grayscale-friendly content

License

MIT License

(c) 2025 gwondoo

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

letter_art-0.2.4.tar.gz (4.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

letter_art-0.2.4-py3-none-any.whl (4.6 kB view details)

Uploaded Python 3

File details

Details for the file letter_art-0.2.4.tar.gz.

File metadata

  • Download URL: letter_art-0.2.4.tar.gz
  • Upload date:
  • Size: 4.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for letter_art-0.2.4.tar.gz
Algorithm Hash digest
SHA256 a8ea2ef114507dbbee756e218c99c95a01d4ded593cba1ff9e9c2e4fe59dc7d4
MD5 9ffcd90d178ddda2a63d556ecf230b78
BLAKE2b-256 2f330be4fb4988b3a1797afdc26f865f1e3977d4eaa8d0b21e52b5a057edc295

See more details on using hashes here.

Provenance

The following attestation bundles were made for letter_art-0.2.4.tar.gz:

Publisher: python-publish.yml on gwondoo/letter_art

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file letter_art-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: letter_art-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 4.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for letter_art-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 54eca68d2b76a6be6fd0fc270f3231a0cbb31ebcd79053ec6a1d1d53bdc02305
MD5 e0978acf6b9cdaa4789aa8a89aed46ca
BLAKE2b-256 e6a88579967d8da210371a65fad45a09bf2279a4fc76434f30c17fe8763f430d

See more details on using hashes here.

Provenance

The following attestation bundles were made for letter_art-0.2.4-py3-none-any.whl:

Publisher: python-publish.yml on gwondoo/letter_art

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page