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.3.tar.gz (4.4 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.3-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: letter_art-0.2.3.tar.gz
  • Upload date:
  • Size: 4.4 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.3.tar.gz
Algorithm Hash digest
SHA256 b80b1a86e3d300189963d42455fd3e23d07142705bd022a263bf49e91335fee5
MD5 5acee804e20456542b436f37a97d0bd9
BLAKE2b-256 c1349f059f5c7e08fd25fc1753f2147bc6af53d40239e8d0d2284fa1b15f31cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for letter_art-0.2.3.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.3-py3-none-any.whl.

File metadata

  • Download URL: letter_art-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 4.7 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 aea573e39933ddff3b8bb9e4ee4e9c6802f80ba4bc5a00a7bd2b7b53f157ee40
MD5 7a1ca326c18402533c41e15c22b01172
BLAKE2b-256 730008d5632d5a9d3bab5bfce4ea12d85cb0d3f7ec7944c176a8074f8ed471a4

See more details on using hashes here.

Provenance

The following attestation bundles were made for letter_art-0.2.3-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