ASCII Art Generator: Text and Image to ASCII

ASCII Art Generator

Turn text into FIGlet banners or convert an image to ASCII art, right in your browser.

5 / 500

Each line becomes its own banner. Fonts cover the letters, numbers and symbols on a standard keyboard; other characters are skipped.

Long text breaks between words to stay within this width.

Result


                            

An ASCII art generator turns plain text into large banner lettering or converts a photo into a picture built from keyboard characters. This free tool lets you pick a font, set the width, add a code comment style and copy the result in seconds, with no sign-in.

What Is ASCII Art and How Does It Work?

ASCII art is lettering or imagery built from the printable characters on a keyboard, such as letters, digits and punctuation. It works because every character in a monospaced font has the same width, so rows of characters line up like pixels. Some people call it keyboard art.

There are two common kinds. Text banners, often called FIGlet banners, draw each letter of a word as a block several rows tall. Image conversion maps the brightness of each part of a picture to a character: dark areas get dense characters such as @ or #, and light areas get sparse ones such as a period or a space.

Because the output is plain text, you can paste it into a code comment, a README, a terminal welcome message, a forum signature or a chat. It only looks right in a monospaced font. In a proportional font the columns drift and the art falls apart.

How Do You Use the ASCII Art Generator?

The tool has two tabs, Text to ASCII and Image to ASCII, and each one produces a Result you can select and copy.

Text to ASCII

  1. Open the Text to ASCII tab and type in the Your text box. It holds up to 500 characters, and each line becomes its own banner.
  2. Choose a Font from the list. Select Browse fonts to open the Font gallery, which previews the first 12 characters of your first line, or press Random font.
  3. Adjust Horizontal layout and Vertical layout (Default, Full width, Fitted, Controlled smushing or Universal smushing) to control spacing and overlap between letters and lines.
  4. Set Wrap width to No wrapping, 80, 100 or 120 columns, or pick Custom width from 20 to 300. Then choose Left, Center or Right alignment.
  5. Optionally pick a Comment style or border, such as // or #, or a box border, and tick Trim trailing spaces and empty rows.
  6. Check the Result. Preview size (Fit width, Small, Medium, Large) and Colours (Dark on light, Light on dark) change how it is displayed, then copy the text.

Image to ASCII

  1. Open the Image to ASCII tab, then drop a picture onto the upload area or select one from your device. Images up to 10 MB are accepted.
  2. Set Width in characters, from 20 to 300. More characters means more detail and a wider result.
  3. Pick a Character set: Standard (10 levels), Detailed (70 levels), Shade blocks, Simple (5 levels), Binary digits 1 0, Braille dots (high detail) or Custom characters, typed lightest first.
  4. Tune Brightness, Contrast, Gamma and Character aspect ratio. Turn on Floyd-Steinberg dithering or Invert brightness if the picture needs it.
  5. Choose Monochrome text or Coloured preview under Output, set the Background to Light or Dark, and copy the result.

What Does a Real Example Look Like?

A short worked example shows how the settings combine. Type Hello in the Text to ASCII tab, keep the Standard font and choose the # comment style. The Result is the word drawn in tall letters, roughly five or six rows high, with every row starting with a hash sign. You can paste it straight above the first line of a Python or shell script.

Now switch Wrap width to Custom width, enter 60 and set Alignment to Center. The banner is padded so it sits in the middle of a 60-column line, which suits a README header or a terminal greeting.

For images, the math is simple. Take an 800 by 600 photo and set Width in characters to 80. With Character aspect ratio at 0.5, the result is 80 columns by 30 rows (600 divided by 800, times 80, times 0.5). Because characters are about twice as tall as they are wide, 0.5 keeps the proportions. Drop the ratio to 0.25 and the same photo shrinks to 15 rows and looks squashed.

How Do You Read and Improve the Results?

Good ASCII art has a clear subject, readable shapes and even spacing, and most problems come down to a handful of settings. Use this table as a quick guide.

SettingWhat it doesChange it when
Character setSets how many brightness levels existDetail looks flat or too busy
Brightness and ContrastLightens, darkens, separates tonesThe picture looks muddy
DitheringSimulates shades with dot patternsSmall sets show harsh bands
Invert brightnessSwaps light and dark charactersOutput looks like a negative

Dense character sets such as Detailed (70 levels) suit photos with soft gradients. Simple (5 levels) and Binary digits suit logos and bold shapes, where fewer symbols give a cleaner look. If a dark photo disappears into a black background, raise Brightness or add Contrast before changing anything else.

Pay attention to the background. Character ramps assume dark ink on a light page, so pasting into a dark terminal often needs Invert brightness. For text banners, a banner that scrolls sideways is too wide. Set Wrap width to 80 columns, the classic terminal width, or try Fitted layout. If letters collide, switch Horizontal layout to Full width.

Who Is This ASCII Art Maker For?

It helps anyone who needs text-only graphics that survive copy and paste. Developers use banners as section headers in source files, with the comment styles for C, Python, SQL, Assembly, batch files and HTML ready to go. The same banner can open a README or a command-line program that prints a logo at startup.

Gamers and community members use it for profile text and chat flair. On Discord, paste the art inside a code block so a monospaced font is used. Plain-text newsletters, email signatures and forum posts benefit from the same approach.

Teachers and hobbyists use the image converter to explain how brightness maps to characters. If you want styled Unicode letters rather than banners, try the fancy text generator. For other encodings, the Morse code generator turns text into dots and dashes, and the binary to text converter decodes real binary code. More utilities live in the text utility tools collection.

What Are the Best Practices and Common Fixes?

Most surprises have a simple cause, and each has a quick fix.

  • Art looks broken in chat or a post: the destination uses a proportional font. Wrap the art in a code block or choose a monospaced area.
  • Some characters are missing: fonts cover the letters, numbers and symbols on a standard keyboard. Accented letters and emoji are skipped.
  • Banner is too wide: shorten the text, choose a Small or Mini style font, or set a Wrap width so long text breaks between words.
  • Image looks stretched: return Character aspect ratio to 0.5.
  • Extra blank space at the edges: tick Trim trailing spaces and empty rows.
  • Art inside Python code breaks: banners contain backslashes, so put them in a raw triple-quoted string, written as r followed by three quotes.

To show art in a terminal, save the result to a text file and print it with a command such as cat on Linux or macOS. For text you want in capitals first, run it through the change text case tool. If you need a prefix like a quote marker on every line of existing art, the prefix and suffix adder does it in one pass.

For photos, start with a width between 80 and 120 characters and an image that has a clear subject and strong contrast. Busy backgrounds turn into noise.

What Are the Limits of ASCII Art Conversion?

ASCII art is an approximation, so fine detail is always lost. Faces and small text in a photo often become unreadable below about 80 columns. This is a converter, not an AI image generator: it does not draw from a prompt, it translates the image or text you supply.

Display also depends on where you paste. Shade blocks and Braille dots rely on font support, and some terminals or apps show them as empty boxes. If that happens, switch to the Standard or Simple character set, which uses ordinary keyboard symbols.

Type a word or upload a picture in the generator on this page, adjust the font or character set until it looks right, and copy the result into your code, chat or document.

Frequently Asked Questions

What is an ASCII art generator?
An ASCII art generator converts text or images into pictures and lettering made from keyboard characters. This tool offers two modes: Text to ASCII makes large banner letters in many fonts, and Image to ASCII maps a photo's brightness to characters you can copy as plain text.
How do I make ASCII art from text?
Open the Text to ASCII tab, type up to 500 characters in the Your text box and pick a Font. Each line becomes its own banner. Adjust layout, wrap width and alignment, then copy the Result.
How do I convert an image to ASCII art?
Open the Image to ASCII tab, upload a picture, set Width in characters (20 to 300) and choose a Character set. A width of 80 to 120 suits most photos. Tune Brightness, Contrast and Dithering, then copy the output.
How do I add ASCII art to code or a terminal?
Choose a Comment style or border, such as // for JavaScript or # for Python, and the banner is wrapped in comment markers. For a terminal, save the result to a text file and print it with cat. In Python strings, use a raw string because banners contain backslashes.
Why does my ASCII art look broken when I paste it into Discord or chat?
ASCII art breaks when the app uses a proportional font, because characters stop lining up. Paste it inside a code block so a monospaced font is used. Also check that long banners are not wrapping, by setting a narrower Wrap width.
Is the ASCII art generator free, and does it use AI?
The ASCII art generator is free and needs no sign-in. It is not an AI image generator: it does not create art from prompts. It converts the text you type or the image you upload using the font, character set and display settings you choose.
Recommended

Explore VPN options

A VPN changes your network exit. It does not guarantee anonymity.

Hide Your IP Encryption Network coverage
Protect My IP Now