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.0.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.0-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: letter_art-0.2.0.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.0.tar.gz
Algorithm Hash digest
SHA256 b046809564448a99ff3962c7ac1a9c71c4901e9765fd335dd09b9a132d028369
MD5 a5a9fe83c5fd6795e517f2d6dc5783c5
BLAKE2b-256 0259fc95350c8d5c928b60a9f4fe75110b77dc610359a5c4246d0ca05c0f48f2

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: letter_art-0.2.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a287af4d3bf59d666d3d60bff1867de7952febb4730c9e36b9172b873e4826ca
MD5 c06d9e7f716593a781866f551dcbe46a
BLAKE2b-256 f3fcf666e0e23e20674c598bb0a233be38e084c21697651ed92afbecc18bb139

See more details on using hashes here.

Provenance

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