ASCII Art Generator

Turn text into big ASCII art banners with 12 FIGlet fonts and a live preview, or convert an image to ASCII. Copy or download as text, 100% in your browser.

🌐 Español

Type some text above to see your ASCII banner.

ASCII art only lines up in a monospace font — paste it into a code block, terminal, README, or any fixed-width context. Image conversion is a brightness approximation and works best with high-contrast pictures.

🔒 Private by design: everything runs locally in your browser and never uploaded to any server.

FIGlet, and the letterforms behind these banners

The big blocky letters this tool makes have a name and a history. FIGlet, the Frank, Ian and Glenn Letters, was written in 1991 for exactly the job people still use it for: printing a program’s name in large characters when it starts up. Its clever part was never the program but the font format. A .flf file is a plain text description of how to draw every character out of smaller characters, including how neighbouring letters should interlock, so anyone could design a typeface for a terminal without touching the code that renders it. Hundreds of them exist, some from the mid-nineties, and they all still work.

This generator runs figlet.js, the JavaScript port of that original program, so the letterforms you get are produced by the same font data a figlet command would use in a shell. Around 300 fonts exist in the package. Bundling all of them would mean shipping several megabytes to every visitor, so this page carries a curated twelve: Standard, Big, Small, Slant, Banner, Block, Shadow, Doom, Ghost, Mini, Digital and ANSI Shadow. Between them they cover the clean, the heavy, the compact and the retro, which is most of what anyone actually reaches for.

Choosing a font for the space you have

The practical constraint is width, not looks. Because each input character expands to six to ten columns depending on the font, a word that seems short becomes wide fast: eight characters in Big will already crowd an 80-column terminal, while the same word in Mini fits with room to spare. Decide where the banner is going first, then pick.

For a CLI startup message or a server login banner, Standard and Slant are the reliable choices at about six rows tall. For a README title, ANSI Shadow and Block look deliberate and modern and are worth the extra width. For something that has to live inside a comment header, a git commit template or a narrow log line, Small and Mini exist precisely for that. Ghost and Shadow sit between the two extremes. Since the preview re-renders as you type or switch fonts, the fastest approach is to type the real text and cycle the dropdown rather than reason about it.

Where figlet and the fonts come from

Everything runs on your device, and the interesting part is how the loading works. Neither figlet nor any font is loaded when the page opens. Each font is a separate lazily loaded module, so your first banner triggers a one-time download of the engine plus exactly one font file from this same domain, typically a few dozen kilobytes. Nothing is ever fetched from a third-party CDN, which means no external request is made on your behalf and nothing about what you typed can leak through one. Once that first render is done, the tool works offline and font switching is instant, because parsed fonts are cached for the rest of the session.

Image mode is local for the same reason. Your picture is read into a <canvas> element in the page and sampled there, never uploaded, which matters when the thing you are ASCII-ifying is an unreleased logo or a photo of somebody.

Image to ASCII: how the brightness ramp works

Image mode does something quite different from the banner mode. The picture is scaled down to a grid whose width is the column count you choose (between 10 and 200, defaulting to 80), each cell is reduced to a single brightness number using the standard luminance weighting that treats green as far more visible than blue, and that number selects a character from a ramp ordered dense to sparse.

Three details decide whether the output looks right. First, aspect ratio: monospace character cells are about twice as tall as they are wide, so the grid samples twice as many pixels vertically per cell as horizontally, otherwise every result would look stretched upward. Second, transparency: transparent pixels are composited onto white before brightness is measured, so a PNG logo with no background reads as dark shapes on empty space rather than as a solid black rectangle. Third, direction: the ramps assume dark ink on a light page, so if you are pasting into a dark terminal, turn on Invert or the whole image will appear as a photographic negative of itself.

The width slider is the strongest control you have over quality. At 40 columns you get a recognisable silhouette; at 160 you get something with real shading, and a plain text file wide enough to need a maximised window.

Making the art, step by step

  1. Choose Text banner or Image to ASCII at the top.
  2. For a banner, type up to 50 characters and pick a font. The preview updates as you type.
  3. For an image, choose a file, then drag the width slider, pick the standard or detailed character set, and toggle Invert if the destination has a dark background.
  4. Press Copy to take the art to your clipboard, or Download .txt to save it as ascii-banner.txt or ascii-art.txt.

What this tool will not do

It produces plain, uncolored ASCII and nothing else. There is no ANSI color output, no animation, and no Unicode block-drawing characters, which is a deliberate restriction: block glyphs give visibly smoother gradients but break in fonts that lack them and in older terminals, whereas a file made only of printable ASCII pastes anywhere without surprises. The image mode outputs text, not a picture, so if you want the art as a shareable image you will need to screenshot it, and Code to Image Screenshot Maker will render the text in a monospace font with proper window chrome for that purpose. There is no reverse direction either, since brightness mapping discards far too much to reconstruct anything.

If what you actually want is stylised text for a social bio or a chat message rather than a multi-line banner, ASCII art is the wrong tool, because those places use proportional fonts. Use the Fancy Text Generator instead, which substitutes single Unicode characters that keep their shape anywhere. And if the banner is destined for the top of a project page, the README Generator will build the surrounding document to drop it into.

See it in action

Screenshot of the ASCII Art Generator tool with a text-banner mode and an image-to-ASCII mode, with a font list running Standard, Big, Small, Slant, Banner, Block, Shadow, Doom, Ghost, Mini, Digital and ANSI Shadow, and a 50-character limit per banner
ASCII Art Generator mid-process: a text-banner mode and an image-to-ASCII mode, with a font list running Standard, Big, Small, Slant, Banner, Block, Shadow, Doom, Ghost, Mini, Digital and ANSI Shadow, and a 50-character limit per banner.
Diagram: where the work happens on a SysFenix page that has no file input at all: the tool arrives as ordinary JavaScript inside the page, works the answer out on your own device and renders it in place, so the upload, queue and server-side record a typical online tool needs never happen
Where the work happens on a SysFenix page that has no file input at all: the tool arrives as ordinary JavaScript inside the page, works the answer out on your own device and renders it in place, so the upload, queue and server-side record a typical online tool needs never happen.

Frequently asked questions

Which of the twelve fonts should I use for a terminal banner?

`Standard` and `Slant` are the safest at around six rows tall, and `Small` or `Mini` fit a word into a narrow window or a git commit template. `Block`, `Doom` and `ANSI Shadow` are the heavy, attention-grabbing ones, but they are also the widest, so a name longer than about eight characters will overrun an 80-column terminal. Switch fonts with text already typed and the preview re-renders instantly.

Why is the text limited to 50 characters?

A FIGlet letter is roughly six to ten characters wide, so a 50-character phrase can already produce a 400-column banner that no terminal or README will display without wrapping. The cap keeps the live preview responsive and stops you generating output that is unusable in the place you intend to paste it. Render a long title as two or three separate lines instead.

Do the fonts get downloaded from a CDN?

No. Every font ships with this site and each one is a separate lazily loaded chunk, so opening the page costs nothing and your first render fetches the figlet engine plus just the font you selected, from this same domain. After that, switching back to a font you have already used is instant, and the whole tool keeps working with the network disconnected.

What is the difference between the standard and detailed character sets?

The standard set is ten characters running from `@` down to a space, which gives ten distinct brightness levels and a bold, poster-like look. The detailed set is the classic 70-level luminance ramp, so it renders smooth gradients and much more subtle shading, at the cost of looking busier at small sizes. Both are plain ASCII with no Unicode block characters, so the art pastes safely into any editor or chat.

Why does my converted image look better as a logo than as a holiday photo?

Each character stands in for a whole rectangle of pixels reduced to a single brightness number, so all color information and most fine detail are discarded before a character is chosen. High-contrast subjects with clear shapes (logos, silhouettes, a face against a plain background) survive that reduction; a busy landscape turns to noise. Raising the width slider and picking the detailed character set recovers some of it.

Why is my ASCII art misaligned after I paste it?

ASCII art relies on every character occupying identical width, which only happens in a monospace font. Paste it into a triple-backtick code fence in a README or on Discord, into a terminal, or into an editor set to a fixed-width font. In a proportional font, which is what chat bios, word processors and most social profiles use, the columns collapse and the art turns to mush.

Related tools