What Is ANSI Art? How It Differs from ASCII Art and How to View or Convert ANSI Files
ANSI art is text-mode artwork that uses ANSI escape sequences to add color, cursor positioning, and extended characters on top of the printable-character grid that ASCII art relies on. If you have a .ans, .adf, or .pcb file from a BBS or artscene artpack and want to see it as intended — or turn it into a PNG — you need a viewer or converter that understands those escape codes, not a plain text editor. Ansilove is one such converter: it turns ANSI and artscene-related formats into PNG images.
ANSI art vs. ASCII art
Both are built from a character grid, but they differ in what controls the grid.
| Dimension | ASCII art | ANSI art |
|---|---|---|
| Character set | Printable ASCII characters only | Printable characters plus extended/CP437-style glyphs |
| Color | None (monochrome text) | Foreground and background colors via escape sequences |
| Cursor control | None | Escape sequences can move the cursor and overwrite cells |
| Typical look | Shapes formed by letters and symbols | Colored blocks, shading, logos, and full-screen scenes |
| Typical source | Plain text files, email signatures | BBS screens, artscene artpacks, demoscene releases |
The practical consequence: an ASCII art file usually renders the same everywhere, while an ANSI art file depends on the terminal or renderer interpreting its escape sequences and font correctly. Open an ANSI file in a plain text editor and you will often see raw escape codes mixed with the artwork.
Where ANSI art files come from
ANSI art is closely tied to the BBS (bulletin board system) era and the artscene. Files circulated in artpacks, and different BBS software produced or expected different formats. Common extensions include .ans, .adf, and .pcb (PCBoard). Because these formats encode color and cursor behavior differently, a converter needs explicit support for each one rather than treating them all as plain text.
How to view ANSI art
- In a terminal: If your terminal supports ANSI colors,
cat-ing a.ansfile can work for simple pieces, but cursor-positioning sequences and non-standard fonts may render incorrectly. - With a dedicated viewer or converter: Tools like Ansilove render the file to an image, which fixes the appearance regardless of your terminal. This is the more reliable option for archival or sharing.
- Online tools: Web-based viewers exist, but check whether they support the specific format (
.ansvs..adfvs..pcb) before relying on them.
How to convert ANSI art to PNG with Ansilove
Ansilove is described as "a set of tools to convert ANSi and artscene related file formats into PNG images." The general workflow:
- Get the tool. Download it from the project's downloads page. The project publishes
ansilove(the command-line tool) andlibansilove(the underlying library) as separate releases. - Run it against your file. Point the tool at your ANSI/artscene file and specify a PNG output. The expected result is a PNG that reproduces the original colors, characters, and layout.
- Check the output. Compare against the original in a terminal or a known-good reference. If colors or glyphs look wrong, the cause is usually font selection, format detection, or metadata (see below).
Version notes that affect rendering
The project's changelog shows that rendering correctness has been an ongoing concern:
- ansilove 4.2.2 (June 10, 2026): fixed "Amiga Topaz 1" font selection from SAUCE metadata, and fixed the font table entry count so
topaz500+is reachable. - ansilove 4.2.1 (March 24, 2025): documented support for the Spleen 8x16 font.
- ansilove 4.2.0 (May 23, 2023): added support for the Spleen 8x16 font, requiring
libansilove >= 1.4.0. - libansilove 1.4.0 (May 23, 2023): added font data for Spleen 8x16 with full CP437 support.
- libansilove 1.4.1 (May 28, 2023): synced the embedded Spleen 8x16 to Spleen 2.0.0, which swapped arrows at positions 1A and 1B.
- libansilove 1.3.0 (April 14, 2022): properly handles 512-character XBin fonts.
- libansilove 1.3.1 (April 26, 2022): fixed XBin font memory leaks and adjusted PCBoard buffer handling.
If you are converting files that use Spleen 8x16, Amiga Topaz, or XBin fonts, using an older version can produce visibly wrong output.
Common problems and what causes them
- Colors look wrong or missing. The renderer may not be interpreting the escape sequences, or the file may use a palette your tool doesn't map correctly.
- Wrong glyphs or missing characters. This is usually a font issue — the selected font may not cover the character set the file uses (for example, CP437). The Spleen 8x16 and XBin-related fixes above are examples of this class of bug.
- SAUCE metadata causes unexpected font selection. SAUCE is metadata embedded in the file that can specify things like the font. A bug in reading it (as fixed in ansilove 4.2.2 for "Amiga Topaz 1") can make the converter pick the wrong font.
- File format not recognized.
.ans,.adf, and.pcbare different formats. Confirm your tool supports the specific one you have.
Choosing between viewing and converting
If you just want to see the art, a terminal or viewer may be enough — but results vary by terminal. If you need a stable, shareable, or archival copy, converting to PNG with a tool like Ansilove is the more dependable route, especially for files that use non-default fonts or SAUCE metadata. When in doubt, convert with a current release and compare the PNG against the original before treating it as accurate.