ascii-image-to-ascii
Scannednpx machina-cli add skill partme-ai/full-stack-skills/ascii-image-to-ascii --openclawWhen to use this skill
CRITICAL TRIGGER RULE
- Use this skill ONLY when the user explicitly mentions the exact skill name:
ascii-image-to-ascii.
Trigger phrases include:
- "ascii-image-to-ascii"
- "use ascii-image-to-ascii"
- "用 ascii-image-to-ascii 把图片转字符画"
- "使用 ascii-image-to-ascii 生成可读优先/细节优先两版"
Boundary
- Default output is ASCII-only; ANSI coloring is optional.
- The bundled script is for local conversion/verification only. Do not fetch/upload images on the user’s behalf.
- Always give pre-processing advice (crop subject, raise contrast, simplify background) before generating the final ASCII art.
How to use this skill
Inputs
- imagePath (local path, required)
- width (default 100; common: 80/100/120)
- charset (default
.:-=+*#%@, from light to dark) - mode (readable | detail; if outputting both, this can be ignored)
- background (light | dark | unknown, default unknown)
- colorMode (none | ansi256, default none)
Outputs (required)
- asciiReadable: readable-first (less noise, clearer silhouette)
- asciiDetail: detail-first (more levels, richer texture)
- paramsGuide: recommended width/charset + pre-processing tips
- pitfalls: 3-5 common failure modes with fixes
Steps
- Pre-processing advice (required):
- Crop the subject, remove irrelevant background
- Increase contrast to reduce gradient noise
- Target width usually 80–120 columns
- Charset + mapping direction:
- Space is the lightest,
@is the darkest (or invert consistently)
- Space is the lightest,
- Generate two variants:
- readable: fewer levels (less noise)
- detail: more levels (more texture)
- Optional ANSI:
- Use color only as a hint; keep the silhouette readable
- Always provide a no-color fallback
Script
scripts/image_to_ascii.py- Requires Python + Pillow (
pip install pillow) - Supports: readable/detail variants, optional
--ansi256
- Requires Python + Pillow (
Examples
examples/readable-vs-detail.md
Quality checklist
- Lines are consistent and
<= width - The readable variant must preserve the main silhouette
- No trailing spaces (copy/paste safe)
Keywords
English: ascii-image-to-ascii, image to ascii, ascii art, terminal preview, charset, grayscale, dithering, ansi 中文: ascii-image-to-ascii, 图片转字符画, ASCII 字符画, 终端预览, 字符集, 灰度映射, 降噪, ANSI 彩色
Source
git clone https://github.com/partme-ai/full-stack-skills/blob/main/skills/ascii-image-to-ascii/SKILL.mdView on GitHub Overview
ascii-image-to-ascii converts a local image into ASCII art suitable for terminal previews and plain-text substitutes. It supports readable and detail variants, configurable width and charset, and optional ANSI coloring, with a recommended pre-processing workflow to improve results.
How This Skill Works
The tool runs on Python 3.8+ with Pillow, crops and boosts contrast to reduce gradient noise, then maps grayscale values to a light-to-dark charset. It outputs two variants: asciiReadable (fewer levels) and asciiDetail (more texture), with an optional ANSI color mode and a no-color fallback by default.
When to Use It
- Need a readable ASCII preview of an image in plain text
- Want a detail-rich ASCII variant for texture and nuance
- Produce terminal-friendly art for dashboards or logs without color
- Use pre-processing (crop, contrast) to improve ASCII fidelity
- Create ASCII examples for documentation or README demos
Quick Start
- Step 1: Crop the subject, raise contrast, and set a width (e.g., 100)
- Step 2: Run python scripts/image_to_ascii.py --image path --width 100 --charset ' .:-=+*#%@' --mode readable --ansi256
- Step 3: Inspect asciiReadable and asciiDetail; adjust width or charset as needed
Best Practices
- Pre-process: crop the subject, remove background, and increase contrast
- Start with width in the 80–120 column range for balance
- Choose a charset that maps light to dark (e.g., ' .:-=+*#%@') and stay consistent
- Generate both readable and detail variants to compare silhouette and texture
- Provide an ANSI option but also include a no-color fallback; test in a plain terminal
Example Use Cases
- README with a logo rendered as ASCII art
- Terminal dashboard preview of an image widget
- CLI demo showing product screenshots in text form
- Documentation showing grayscale mapping and ASCII layers
- Art project converting photos to ASCII textures for inspiration