Website profiles · Technology insights · Alternatives

ansilove.org No paid content found

Categories: Resources & Utilities

ANSi to PNG converter - A set of tools to convert ANSi and artscene related file formats into PNG images

Visit website

Updated: 2026-10-04 00:59 Language: English (default) Access: Normal

Profile views 4 Outbound visits 0
Ansilove Full homepage screenshot
Editorial Review

Website Review

What is Ansilove?

Ansilove is a converter for text-mode artwork: it turns ANSi and related artscene formats into PNG images. It comes from the BBS and artpack world, where files were built for 80-column text screens rather than modern picture formats. The project provides both a command-line tool (ansilove) and a C library (libansilove) that other software can build on.

What it handles

  • ANSi art, the colored text-and-block-character drawings traded on bulletin board systems
  • Related artscene and text-mode formats, including those carrying SAUCE metadata that records title, author and font
  • Font selection driven by that metadata, so a file can render in its intended typeface rather than a default

Who it is for

  • People archiving or republishing BBS-era artpacks who need viewable images instead of raw .ans files
  • Developers who want rendering inside their own viewer, gallery or terminal-art tool via libansilove
  • Anyone converting a single file from the command line for a blog post, wiki page or documentation

A practical example

A sysop has a folder of ANSi screens from an old board and wants to post them on a website. Running each file through ansilove produces PNGs that browsers display directly, preserving the original colors and layout instead of reflowing the text. The SAUCE record, if present, tells the converter which font and width to use.

Trade-offs to weigh

Consideration What it means in practice
Output is an image Text is no longer selectable, searchable or accessible to screen readers
Fidelity over convenience Correct fonts and SAUCE handling matter more than a quick text dump
Two ways in The CLI suits one-off jobs; the library suits integration into another program
Niche scope It targets artscene formats, not general image conversion

If you only need to read an ANSi file as plain text, a terminal pager may be enough. Choose Ansilove when the visual result — colors, block characters, original font — is the point.

As a next step, check the Examples section on Ansilove to see rendered output before and after, then try one file from your own collection to judge whether the font handling matches what you expect.

How do I convert an ANSI art file to PNG with Ansilove?

Install Ansilove, then run it from a terminal against your ANSI file. The command-line tool reads ANSi and related artscene formats and writes a PNG.

ansilove myart.ans

By default this produces myart.png beside the source file. If you want to control the name or location, give the output path explicitly:

ansilove -o /path/to/output.png myart.ans

Choosing the right font and size

ANSI art was drawn for specific text-mode fonts and grid dimensions, so the output only looks correct if the character cell matches the original. Ansilove ships with several classic fonts, and the page evidence notes Spleen 8x16 support (requiring a matching libansilove version) and a fix for "Amiga Topaz 1" font selection from SAUCE metadata. If your file carries SAUCE metadata, that record often names the font and dimensions the artist intended, and Ansilove can pick them up automatically. If the result looks stretched, blocky or misaligned, override the font and width/height rather than accepting the default.

Typical workflow

  1. Download or build Ansilove for your platform (packages exist for several systems; the changelog references Homebrew, Guix and Nix packages).
  2. Run it on one file to confirm the font and dimensions look right.
  3. Batch-convert a whole directory once you have a command that works, since ANSI collections often run to hundreds of files.

When to use the library instead

If you are building a viewer, gallery or conversion pipeline rather than converting files by hand, libansilove is the underlying library and lets you embed the same rendering in your own software. The command-line tool is the faster route for one-off conversions and scripts; the library is the better choice when you need programmatic control or want to integrate rendering into an application. Projects such as Textfiles.com are noted among the projects using Ansilove, which is a useful signal if you want to see the tool applied to large archives of BBS-era art.

Practical next step

Convert a single file first, compare the PNG against how the art appears in a terminal or a known-good ANSI viewer, then adjust font and dimensions until they match before processing a batch.

Does Ansilove work on Linux, macOS, and Windows?

Ansilove is primarily a command-line tool built around CMake, and it does not present itself as a single cross-platform installer for all three systems. The page evidence points to Linux and macOS packaging more than Windows: the changelogs mention Nix, Guix, Homebrew, Gentoo and RPM packages, and CMake minimum versions. That suggests the easiest path is Linux or macOS, where a package manager or a source build with CMake is likely to work.

For Windows, treat it as a build-it-yourself or compatibility-layer situation rather than a native, documented install. The page evidence does not list a Windows binary, installer, or package. In practice, Windows users would need a Unix-like environment such as WSL, MSYS2 or Cygwin, then build the tool from source. That is more work and more likely to hit font or terminal-related quirks than on Linux or macOS.

A quick way to decide:

  • Linux: best supported by the evidence, with Nix, Guix, Gentoo and RPM packaging mentioned.
  • macOS: Homebrew is mentioned in the changelog, so it is likely the most convenient route.
  • Windows: no native package or installer is shown; expect to use WSL or a similar environment and compile from source.

If you are on Windows and only need to convert a few ANSI files, the practical next step is to try WSL first, install the build dependencies, and compile Ansilove from source. If you are on macOS or Linux, check your package manager before building manually. The project's own Ansilove downloads page is the place to confirm the current source and package links.

Can Ansilove render ANSI art that includes PCBoard or XBin fonts?

Yes. PCBoard and XBin are among the formats Ansilove handles, and its changelog shows active work on both: XBin font memory leaks were fixed in libansilove 1.3.1, and handling of 512-character XBin fonts was added in 1.3.0. PCBoard support also appears in the same release line, with a fix to how the PCBoard buffer is incremented.

H3 What that means in practice If you have an old BBS-era file using PCBoard color codes or an XBin with a custom embedded font, Ansilove converts it to PNG rather than flattening it to plain text. The bundled font data matters here: XBin files can carry their own glyphs, and the changelog notes Spleen 8x16 reaching full CP437 coverage, with an earlier fix for "Amiga Topaz 1" font selection from SAUCE metadata. SAUCE is the metadata block many artscene files carry, and honoring it is what makes the right font and dimensions get picked automatically.

H3 A concrete check Take one PCBoard file and one XBin file from the same artpack, convert both, and compare against a known-good viewer like 16colo.rs. If the PCBoard output shows the right block characters and the XBin output keeps its custom lettering, your pipeline is sound. If an XBin renders in a fallback font, the embedded font data likely isn't being read — check that you're on a recent libansilove, since the 512-character support landed in 1.3.0.

H3 Audience and trade-off This suits archivists, BBS sysops and demo/artscene historians who need stable image output for the web. The trade-off is that Ansilove is a converter, not an interactive viewer: you get static PNGs, so animation or terminal-authentic rendering isn't the goal. For browsing rather than converting, a dedicated viewer may fit better.

How can I use Ansilove in my own software project?

Ansilove is a converter for ANSi and artscene file formats, and it ships in two layers: the ansilove command-line tool and libansilove, a library you can build against. For "using it in my own software," the library is the part that matters — it handles the format parsing and rendering, so your project supplies the file, the font choice and the output path.

Two integration routes

Route What you get Best when
libansilove (C library) In-process conversion, no external binary to ship or invoke You are writing C/C++ or can bind to a C API, and want conversion inside your own rendering or batch pipeline
ansilove CLI A finished binary you call as a subprocess Your stack is not C-friendly, or you want a quick prototype before committing to a library dependency

The library approach is the one to pick for a real product: you avoid spawning processes per file and avoid depending on a user-installed binary. The CLI route is legitimate for scripts, static-site build steps, or one-off artpack conversion.

Practical steps

  1. Build libansilove from source (the project uses CMake) and link it into your project, or install a packaged version if your platform's package manager carries one.
  2. Feed it a file plus the options that matter for output: font selection, character width/height, and whether you want a retina-scale PNG.
  3. Read the SAUCE metadata — Ansilove supports it, and its release notes mention fixes around SAUCE-driven font selection, so embedded metadata can and does influence rendering.
  4. Render to PNG and hand the image to your own UI, archive or publishing step.

Where it fits in a real project

A common scenario: you run a BBS nostalgia archive or an artscene gallery and want to display decades-old .ans, .pcb or XBin files as images in a modern web front end. Your backend walks an uploaded artpack, calls libansilove per file, caches the resulting PNGs, and serves them. That is essentially what existing projects in the "projects using Ansilove" list do — the release notes reference Durdraw, Abydos and Textfiles.com as integrators, which tells you the library is being embedded rather than only run by hand.

If you want to see output before writing code, the site's Examples and Downloads sections and its BBS Nostalgia page are the fastest way to judge whether the rendering matches your expectations. For a broader set of text-art tooling to compare against, 16 Colors is the well-known artscene archive, and Textfiles.com is the long-running BBS document and file collection that the project itself lists as a user.

Decision criterion

Choose the library if conversion happens per-request or per-file inside your application and you can consume a C API. Choose the CLI if conversion is a build-time or batch step and you would rather not manage a native dependency. Either way, check the font support you need — Spleen 8x16 and Amiga Topaz are handled, and font availability has been a moving target across releases, so pin a version you have tested.

What is SAUCE metadata and how does Ansilove handle it?

SAUCE metadata is descriptive information embedded at the end of an ANSI, ASCII, or similar text-art file. It records details such as the file's title, author, group, character width and height, font used, and rendering mode, so viewers and converters can reproduce the artwork as the artist intended.

Ansilove reads this metadata when converting art to PNG. A changelog entry for version 4.2.2 notes a fix for selecting the "Amiga Topaz 1" font from SAUCE metadata, showing that SAUCE values can influence font choice during conversion.

Practical use

If you are converting an old BBS-era art file, SAUCE is what often preserves the intended font and dimensions. A converter that ignores SAUCE may still produce an image, but the character set or proportions can differ from the original. For a batch of artpack files, checking SAUCE support matters when you want consistent, faithful output rather than a quick preview.

Next step

Try converting a file known to contain SAUCE with Ansilove and compare the result against a viewer that also reads SAUCE. If the font and layout match, the metadata path is working as expected. For background on the format and related tools, see Ansilove and Textfiles.com.

Related questions

More questions →
What Are Artpacks? How ANSI and ASCII Art Collections Work

An artpack is a packaged collection of text-mode artwork—mostly ANSI and ASCII pieces—released by a group or artist, usually on a monthly schedule or as a single themed drop. If you have an artpack and want to see or convert its contents, you open the individual files inside it with a text-art viewer or convert them to images with a tool like Ansilove. The catch is that many files carry SAUCE metadata and assume a specific font (often CP437), so the right viewer or converter settings matter for correct display.

What an artpack actually contains

An artpack is not one file format. It is a container—historically a ZIP or similar archive—holding many small text-art files plus supporting material. Typical contents:

  • .ans files — ANSI art. These use escape sequences to set colors and cursor positions, so they only look right when rendered by something that interprets those codes.
  • .asc files — ASCII art. Plain characters, no color codes, viewable in any text editor but designed for a fixed-width font.
  • .pcb files — PCBoard format, associated with the PCBoard BBS software. These are a distinct text-mode format, not plain ANSI.
  • SAUCE metadata — a trailing record attached to many artscene files that describes the file: title, author, group, and often the font or display mode expected. Tools read this to render correctly.
  • Readme/nfo files — release notes, member lists, and credits that accompany the art.

The name "artpack" comes from the artscene, the community of artists who made text-mode graphics for bulletin board systems (BBSes) and later distributed their work in these packs.

Why they exist and how they were distributed

Artpacks solved a distribution problem. Before the web, artscene groups needed a way to ship a whole month's worth of work to BBSes and rival groups in one transfer. Packing the files into a single archive made that practical.

Two common release patterns:

  • Monthly packs — a group releases everything its members made that month.
  • Group or themed packs — a curated set around a theme, an event, or a specific artist.

This is why artpacks are a historical record: they preserve text art that would otherwise exist only as scattered files on dead BBSes. Archives like Textfiles.com collect them, and projects such as Ansilove list artpack-related collections among their users.

How to open or convert an artpack

The workflow is the same whether you just want to look or want to produce images.

  1. Unpack the archive. Extract the artpack to a folder. You will get many individual .ans, .asc, .pcb, and text files.
  2. Choose a viewer or converter. For viewing, any ANSI/ASCII-aware viewer works. For conversion to PNG, Ansilove is a dedicated ANSI-to-PNG converter that also handles artscene-related formats.
  3. Convert a file. With Ansilove, you point it at an input file and it writes a PNG. The input is the text-art file; the action is rendering it through a font and color table; the expected result is a PNG that matches how the art looked in a text-mode terminal.
  4. Check the output against the original. If colors or characters look wrong, the issue is usually font or encoding, not the file.

Because artpacks contain many files, batch conversion is the practical approach—run the converter over the whole extracted folder rather than one file at a time.

Common problems and how to fix them

Most display errors trace back to two things: SAUCE metadata and font/encoding.

Symptom Likely cause What to check
Wrong characters (blocks, arrows, symbols) Wrong font or missing CP437 support Use a converter/font with full CP437 coverage
Wrong colors Display mode not read correctly Check the file's SAUCE record for the intended mode
Amiga-style art looks off Wrong font selected from SAUCE Ensure the tool honors the SAUCE font field
Some characters missing entirely Font lacks those glyphs Switch to a font with broader coverage

Ansilove's own changelog shows how real these issues are. Recent releases fixed "Amiga Topaz 1" font selection from SAUCE metadata, corrected a font table entry count so topaz500+ became reachable, and added the Spleen 8x16 font with full CP437 support. In other words, correct rendering depends on the tool reading SAUCE and having the right font data—so if an artpack file looks broken, updating the converter or changing the font is often the fix, not editing the file.

Practical takeaways

  • An artpack is an archive of ANSI/ASCII/PCBoard text art, usually released monthly or by group.
  • The files inside are not interchangeable: .ans, .asc, and .pcb need format-aware handling.
  • SAUCE metadata tells viewers and converters how to render a file—respect it.
  • For conversion to PNG, use a tool with broad font and CP437 support, and batch-process the extracted folder.
  • When output looks wrong, suspect font selection or SAUCE handling before assuming the file is corrupt.
What Is Text Mode? How ANSI and ASCII Art Files Work in Text Mode

Text mode is a display mode where the screen is treated as a grid of fixed-size character cells rather than a canvas of individually addressable pixels. Each cell holds one character plus attributes such as foreground color, background color, and sometimes bold or blink. ANSI art, ASCII art, and the BBS "artscene" all grew up inside this model, which is why their files store character codes and color commands instead of pixel data. To view them faithfully you need a renderer that understands the original code page and font; to share them as images you convert them, for example with Ansilove, which turns ANSI and related artscene formats into PNG.

Why text mode produced a distinct kind of art

In text mode the smallest unit you can draw is a character cell. You cannot place a dot halfway between two cells, and you cannot use an arbitrary color — you pick from the palette the hardware or terminal offers. That constraint shaped the art:

  • Resolution is measured in columns and rows, not pixels. A classic DOS text screen is 80 columns by 25 rows; a BBS might use 80x24 or other sizes.
  • Color comes from attributes, not from per-pixel values. A cell's foreground and background are chosen from a limited set (16 colors in the classic PC palette).
  • Shading and gradients are faked by choosing characters with different densities (░, ▒, ▓, █) and by mixing foreground/background colors.

This is why text-mode art looks blocky and character-driven, and why the same file can look different depending on the font and palette used to render it.

How text-mode art encodes what you see

A text-mode art file is essentially a stream of instructions to a terminal. Three things are being encoded:

1. Characters. Each glyph is a code point in a code page. The IBM PC world standardized on CP437, which includes box-drawing characters, block elements, and shading characters that ANSI art relies on heavily. If a viewer interprets the bytes as a different code page, those characters turn into the wrong symbols.

2. Colors and attributes. ANSI escape sequences (the "ANSI" in ANSI art) set foreground and background colors and toggle attributes. A sequence like an escape code followed by parameters tells the terminal "from here, draw in this color."

3. Cursor position. Escape sequences also move the cursor to a specific row and column, so the file can paint non-sequential parts of the screen. This is what separates ANSI art from plain ASCII art: ANSI art uses positioning and color, while ASCII art is typically just characters in reading order.

Formats you will encounter

Format What it is Notes
ASCII (.txt, .asc) Plain characters, no color or positioning Portable, renders anywhere
ANSI (.ans) Characters plus ANSI escape sequences for color and cursor moves The core BBS art format
XBin A binary format that can embed its own font data Handles fonts beyond the standard set
PCBoard A BBS-specific format Ansilove's changelog references fixes to PCBoard buffer handling
Amiga / Topaz Art from the Amiga scene using its own fonts Ansilove added handling for "Amiga Topaz 1" font selection from SAUCE metadata

Fonts matter as much as the file. Ansilove's release history shows ongoing work here: Spleen 8x16 was added with full CP437 support, and later synced to Spleen 2.0.0 (which swapped the arrows at positions 1A and 1B). A font change at that level can visibly alter how a piece renders.

Viewing text-mode art vs. converting it to an image

There are two different goals, and they need different tools.

Viewing in a terminal. A modern terminal is not a DOS text-mode screen. It can usually display the characters, but it may not honor the exact palette, the original font, or the original screen dimensions. You get something recognizable, not necessarily pixel-faithful.

Converting to PNG. This is what Ansilove is built for: "a set of tools to convert ANSi and artscene related file formats into PNG images." Conversion freezes the art into an image using a chosen font and palette, so it looks the same everywhere. That is the practical route when you want to archive, post, or compare pieces.

A typical conversion flow looks like this:

  1. Get the file in its original format (.ans, XBin, PCBoard, etc.).
  2. Run the converter on it, specifying output and any font/palette options you need.
  3. Check the result against how the piece is "supposed" to look — especially if it uses a non-default font or a code page other than CP437.
  4. Adjust the font or rendering options if characters or colors come out wrong.

The expected result is a PNG that reproduces the character grid, colors, and positioning of the original. The common failure is a mismatch between the font/code page the art was made for and the one the converter used.

Common problems when rendering text-mode art

  • Wrong code page. Bytes meant as CP437 render as the wrong glyphs. Box-drawing and shading characters are the first to break.
  • Missing or wrong font. If the art was made for a specific font (Amiga Topaz, Spleen 8x16, a custom XBin font), the default font will not match. XBin can carry its own font data, which is why it needs special handling.
  • SAUCE metadata ignored. SAUCE records information about a piece, including font. Ansilove's changelog notes a fix for selecting the "Amiga Topaz 1" font from SAUCE metadata — meaning if the metadata is not read, the wrong font is used.
  • Palette differences. The same color index can map to different RGB values depending on the renderer, so colors shift.
  • Screen size assumptions. Art drawn for one column/row count can wrap or clip if the renderer assumes another.

Practical takeaways

  • Text mode = character cells + attributes, not pixels. That single fact explains almost everything about how ANSI and ASCII art look and behave.
  • ANSI art ≠ ASCII art. ANSI art uses color and cursor positioning; ASCII art is plain characters.
  • The file alone is not the whole picture. Code page and font are part of the artwork, which is why formats like XBin embed fonts and why SAUCE metadata matters.
  • To preserve or share a piece, convert it to PNG with a tool that respects the original font and code page, and verify the output rather than assuming the default settings are correct.

If your goal is just to read the art, a terminal viewer is fine. If your goal is fidelity — archiving, posting, or comparing against the original — convert to an image and check the font and code page first.

What Is ASCII Art? How It Differs from Emoji and Kaomoji

ASCII art is an image or design built entirely from standard keyboard characters — letters, numbers, punctuation, and symbols — arranged so the shape reads as a picture or decorative text. It differs from emoji, which are single Unicode pictographs, and from kaomoji, which are Japanese-style text emoticons like (・ᴗ・)♡. Use ASCII art when you need visuals in a plain-text space where emoji may not render, such as code comments, terminal output, or older forums. Use emoji or kaomoji instead when you want a quick, colorful symbol that displays reliably on modern apps.

ASCII art vs. emoji vs. kaomoji

Feature ASCII art Emoji Kaomoji
Built from Keyboard characters (letters, punctuation, symbols) Single Unicode pictographs Text characters, often Japanese-style faces
Example (^_^) or a multi-line picture 😀 ❤️ 🌸 (・ᴗ・)♡
Color None — monochrome text Full color None
Best for Plain-text environments, code, retro/tech aesthetics Social apps, quick reactions Cute text emoticons in chats and bios
Rendering risk Breaks if font or spacing differs Breaks if platform lacks the emoji Breaks if font spacing differs

The key distinction: emoji are characters that carry their own image, while ASCII art and kaomoji are arrangements of ordinary characters that only look like something when the spacing holds.

Common types of ASCII art

  • One-line text art — small faces and icons that fit inline, e.g. (^_^), (T_T), (¬_¬).
  • Multi-line pictures — larger images built across several rows, such as animals, logos, or objects.
  • Decorative borders and dividers — lines like ====, ~~~~, or *~*~*~* used to separate sections of text.
  • Text banners — words spelled out in large block letters made from characters.

Where ASCII art works best

ASCII art shines in environments that strip out or don't support rich formatting:

  • Code comments and README files
  • Terminal and command-line output
  • Plain-text emails and older forum posts
  • Signatures and bios where you want a retro or tech look

For Instagram, TikTok, or WhatsApp, emoji and kaomoji usually display more reliably and colorfully. CuteEmoji.AI, for instance, groups kaomoji and aesthetic symbols alongside its emoji collections for exactly these social use cases.

How to copy or make ASCII art

To copy ready-made art:

  1. Find the piece you want (many sites, including CuteEmoji.AI, list ASCII art and kaomoji alongside emoji).
  2. Select the characters exactly as shown.
  3. Paste into your target field and check that the alignment still looks right.

To make simple art yourself:

  1. Choose a fixed-width (monospace) font so every character takes equal space.
  2. Sketch your shape on a grid, one character per cell.
  3. Use characters that suggest the shape — / and \ for diagonals, _ and - for horizontals, O or 0 for circles.
  4. Paste into your destination and adjust spacing if it shifts.

Expected result: the art reads as intended in a monospace context. If it looks skewed, the font is likely proportional rather than fixed-width.

Limitations to watch for

  • Font and spacing differences are the main failure point. Proportional fonts collapse the alignment that ASCII art depends on.
  • Platform wrapping can break multi-line pieces if the text box is too narrow.
  • No color — ASCII art is monochrome by nature, unlike emoji.
  • Emoji substitution — some apps auto-convert certain character sequences into emoji, which can corrupt the art.

If your art keeps breaking, switch to a monospace font, widen the container, or use emoji/kaomoji instead.

What Is Text Art? ANSI, ASCII, and How to View or Convert Text Art Files

Text art is any image made from characters rather than pixels — letters, punctuation, block glyphs, and sometimes color codes. The two forms you'll meet most often are ASCII art (plain characters, no color) and ANSI art (characters plus color and cursor control, usually from the BBS era). If you just want to look at a file, open it in a viewer or terminal that supports its character set and font; if you want a shareable image, convert it to PNG with a tool like Ansilove.

The main forms of text art

Form Made of Color Typical extensions Where it comes from
ASCII art Printable ASCII characters No .asc, .txt, .nfo Usenet, readme files, early computing
ANSI art Characters + ANSI escape codes Yes (16 colors) .ans BBSes, artscene, PCBoard
Other text-mode art Extended character sets and fonts Varies .xb, .adf, .idf Amiga, C64, other platforms
Emoji / kaomoji Unicode symbols Depends on renderer inline text Messaging, web

The practical difference between ASCII and ANSI art is color and character set. ASCII art relies on the shape of standard characters alone, so it looks the same anywhere the font is monospaced. ANSI art adds escape sequences that set foreground and background colors and move the cursor, so it only looks right when the viewer interprets those codes. A .ans file opened in a plain text editor will show garbage characters mixed with the art.

Common file formats

  • .ans — ANSI art with color codes. The core format for BBS-era art.
  • .asc — plain ASCII art, no color codes.
  • .nfo — scene release info files, often ASCII or ANSI with box-drawing characters.
  • .xb, .adf, .idf — extended/other text-mode formats from non-PC platforms.
  • Artpacks — archives (often .zip) bundling many art files from a group or period. You extract them and open individual files.

How to view text art correctly

  1. Pick a viewer that understands the format. For .ans files, use an ANSI-aware viewer or terminal. A plain text editor will not render the colors.
  2. Use a monospaced font. Text art is drawn on a character grid; a proportional font breaks the alignment.
  3. Match the character set. ANSI art typically uses CP437 (the original IBM PC character set). If your viewer uses a different encoding, block characters and line-drawing glyphs will appear wrong.
  4. Check the font for extended glyphs. Some art depends on specific fonts. Ansilove, for example, documents support for the Spleen 8x16 font, which has full CP437 coverage, and handles font selection from SAUCE metadata — the metadata block that records which font and mode an art file expects.

If the art looks like random symbols, the encoding is wrong. If it looks like the right shapes but no color, you're viewing it as plain text.

Converting ANSI or ASCII art to PNG

Ansilove is a set of tools that convert ANSI and artscene-related file formats into PNG images. The workflow is:

  1. Get the tool. Download from the Ansilove site. Recent releases include ansilove 4.2.2 (June 10, 2026) and libansilove 1.4.2.
  2. Run it against your file. Point it at the .ans, .asc, or other supported file.
  3. Check the output PNG. The converter renders the characters with the correct font and applies the color codes, so the result matches how the art was meant to look.

Why convert at all? PNG output is portable — it displays identically everywhere, doesn't depend on the viewer's font or encoding, and can be posted or archived without the original toolchain.

Troubleshooting common display problems

  • Wrong font or broken block characters — the viewer isn't using the font the art expects. Select the correct font (for example, an Amiga Topaz or Spleen variant) or let the converter read the SAUCE metadata. Note that font selection from SAUCE metadata has had fixes (ansilove 4.2.2 fixed "Amiga Topaz 1" font selection).
  • Missing colors — you're viewing a .ans file as plain text. Use an ANSI-aware viewer or convert to PNG.
  • Garbled characters — encoding mismatch. ANSI art is usually CP437; set your viewer or terminal to that encoding.
  • Font table issues — some fonts weren't reachable due to entry-count bugs (fixed in 4.2.2 so topaz500+ is reachable). If a font seems missing, update the tool.

Choosing what to do

  • Just want to see it? Use an ANSI-aware viewer with a monospaced font and CP437 encoding.
  • Want to share or archive it? Convert to PNG with Ansilove so it renders the same for everyone.
  • Working with artpacks? Extract the archive first, then open or convert individual files.
  • Building something? libansilove is the library behind the converter, used by other projects including Durdraw, Abydos, and Textfiles.com.
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 .ans file 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 (.ans vs. .adf vs. .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:

  1. Get the tool. Download it from the project's downloads page. The project publishes ansilove (the command-line tool) and libansilove (the underlying library) as separate releases.
  2. 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.
  3. 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 .pcb are 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.

Website Overview

An established domain and managed infrastructure suggest continuity of operations and may support dependable delivery, although neither guarantees service quality.

Domain and Registration

Registered in 2016, this domain has about 10 years of history. That suggests continuity, although ownership and purpose may have changed. Transfer-protection status is present, helping reduce the risk of unauthorized domain transfers. The domain uses the common .org extension, which is not an independent safety signal.

DNS and Email

Nameservers are provided by hetzner.de, indicating managed DNS hosting. No CNAME was found; the observed records resolve directly to addresses. No MX record was found. A conventional explicit inbound-mail route is not configured. DNSSEC signatures were not detected, so this additional DNS authenticity protection is not confirmed. The lowest observed DNS TTL is 300 seconds.

TLS and Certificates

The certificate uses an RSA 3072-bit public key, offering broad client compatibility. The server supplied a complete certificate chain. No organization name is present in the certificate; the available fields are consistent with domain validation. The certificate was issued by Let's Encrypt, commonly associated with automated certificate services. The certificate's total validity is about 89 days, consistent with a short renewal cycle.

HTTP and Browser Security

The response lacks these common security headers: CSP, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, clickjacking protection. No X-Powered-By header was found, reducing one common source of backend fingerprinting information. No obvious internal addresses or debug information were found in the headers. The Server header identifies nginx without an exact version. No explicit CDN or WAF marker was found in the response headers.

Technology Stack Analysis

The public page identifies nginx without precise versions, leaving fewer clues for version-specific scanning.

Search and Social Sharing

No viewport meta tag was detected, which may affect mobile layout behavior. No Open Graph metadata was detected, so social previews may depend on platform inference. The title has 32 characters, within a common display range. A meta description is present, with 104 characters. The observed directives allow indexing and link following.

Hosting and Email

DNShetzner.de
HostingHetzner Online GmbH
EmailUnknown
Location Germany flagNuremberg, Bavaria, Germany 116.203.5.115

User reviews (0)

  • No reviews yet.

Pages, Search and Sharing

Meta descriptionANSi to PNG converter - A set of tools to convert ANSi and artscene related file formats into PNG images
Canonical URLhttps://www.ansilove.org
LanguageEnglish (default)
Twitter CardNot detected

Unknown

No robots.txt found

No sitemaps found

Registration details RDAP / WHOIS

RegistrarDynadot Inc
Registered2016-01-11
Expires2027-01-11
Domain statusclient transfer prohibited
Nameservershelium.ns.hetzner.de、hydrogen.ns.hetzner.com、oxygen.ns.hetzner.com
DNSSECunsigned

DNS records

TypeNameValueTTLPriority
Awww.ansilove.org116.203.5.115300—
NSansilove.orghelium.ns.hetzner.de86400—
NSansilove.orghydrogen.ns.hetzner.com86400—
NSansilove.orgoxygen.ns.hetzner.com86400—
TXTansilove.orgv=spf1 -all300—
DMARC_dmarc.ansilove.orgv=DMARC1;p=reject;sp=reject;adkim=s;aspf=s;fo=1;rua=mailto:[email protected]300—

TLS and certificates

AssessmentNormal configuration
Supported protocolsTLSv1.2、TLSv1.3
Negotiated protocolTLSv1.3
Certificate subjectansilove.org
IssuerLet's Encrypt
Valid until2026-12-11T02:03 · Remaining when checked: 68 days
Verification detailsCertificate trust: Passed · Hostname match: Passed

HTTP response headers

HeaderValue
content-typetext/html
servernginx
strict-transport-securitymax-age=63072000

Identified technologies

nginx