Skip to content

Text Art to Image

Renders any monospaced text art as a PNG or SVG with a chosen font, cell size, colour, background and optional transparency, so it survives being posted where monospace is not preserved.

Text art is characters, and characters get reflowed. KakaoTalk, Instagram captions, most mail clients and most CMSes will substitute a proportional font or collapse the runs of spaces that hold the picture together, and what arrives is not what you made. This page renders it once, at fixed spacing, and hands you a picture instead. Every other text-art tool on this site exports through the same module, so the PNG a braille picture saves and the PNG this page saves are the same bytes from the same code.

🔒 Runs entirely in your browserasciiartimageconvertshare

Paste anything monospaced — a banner, a braille picture, a diagram, a code block. Tabs are expanded to the next tab stop.

Look

192 × 137 pixels before the scale

╭──────────────╮ │ todododo │ ╰──────┬───────╯ │ ┌──────▼───────┐ │ text art │ └──────────────┘
Text art survives almost nowhere it gets posted. KakaoTalk, Instagram captions, most email clients and most CMSes either reflow it, substitute a proportional font, or collapse the runs of spaces that hold it together. A picture of it survives all of them.
SVG keeps the characters as characters, so it stays selectable and scales without limit — but it renders in whatever monospaced font the viewer has. Each run is pinned to an exact width with textLength so a different font stretches the glyphs instead of shearing the alignment, which is a mitigation rather than a fix. PNG is a picture: bigger, fixed, and identical everywhere. Post the PNG.
Neither format embeds a font. The SVG names a stack of common monospaced faces and falls back through it; the PNG is rasterised with whatever this device has, so a picture made on a phone and one made on a desktop will differ slightly in the shapes of the characters.

How to use it

  1. Raise the character width for emoji or CJK art

    The cell width is set as a fraction of the type size, and 0.6 is right for a Latin monospaced face. Emoji and full-width CJK characters are about twice as wide, so art made of them needs the slider pushed up or the columns will overlap.

  2. Pick PNG for posting, SVG for keeping

    The PNG is a picture and looks identical everywhere, which is what you want when it is going into a chat. The SVG keeps the characters as characters — selectable, copyable, scalable without limit — but renders in whatever monospaced font the viewer has. Each run is pinned to an exact width so a different font stretches the glyphs rather than shearing the alignment, which is a mitigation rather than a fix.

Common questions

Why is the transparent PNG not transparent in KakaoTalk?

Because the chat client composites it onto its own bubble colour, and in a dark theme dark text on transparency disappears. Transparency is for putting the art on top of something you control. For a chat, pick a background that matches the bubble — there is a KakaoTalk preset that does.

Does the file contain the font?

Neither format embeds one. The SVG names a stack of common monospaced faces and falls back through it; the PNG is rasterised with whatever this device has installed, so a picture made on a phone and one made on a desktop differ slightly in the shapes of the characters even at the same settings.

Feed it from

Next

These accept what this tool produces, so the result can go straight in.