ASCII Art in README Files

May 28, 20266 min read

Why ASCII Art Belongs in READMEs

A README is the front door to your project. ASCII banners at the top of a README create instant visual identity — they signal what the project is before a visitor reads a single line of prose. Well-known projects like rustfmt, httpie, and starship use ASCII logos to reinforce their brand on GitHub.

But ASCII art in documentation comes with constraints. It must render correctly across devices, stay readable in plain text, and not break layout in markdown viewers. Done right, it adds personality without sacrificing usability.

Choosing the Right Font Size

README banners need to work in two contexts: GitHub's rendered markdown view and raw text in a terminal editor. This dual constraint limits your font choices:

Font SizeMax CharactersREADME Fit
Full (FIGlet standard)6–8 char project nameGood for short names
Small (FIGlet small)10–12 char project nameBest balance
Mini (custom/Sublime)15+ char project nameLong project names
Unicode block2–4 char project nameLogo-style, risky

Rule of thumb: Your banner should not exceed 72 characters wide. GitHub renders READMEs at roughly 80 columns, and some mobile views are narrower. Anything wider causes horizontal scrolling.

Example: Short Project Name

  ____  _     _
 / ___|| |__ (_)_ __   ___
| |   | '_ \| | '_ \ / _ \
| |___| | | | | | | |  __/
 \____|_| |_|_|_| |_|\___|

Example: Longer Project Name (small font)

  _  _____  __  ___  ___  ___ ___
 / \|_   _|/ /_ / _ \|_ _|_ _/ __|
/ _ \ | |/ / __| |_| || | | |\__ \
_/ \_ \|_|\_\\__|\___/|___|___|___/

Formatting Best Practices

Center Alignment

Center your banner in the README using HTML or markdown alignment. Since standard markdown doesn't support centering, use an HTML snippet:

<div align="center">

/ | ___ _ __ ___ _ __ ___ | | _ / _ \ ' ` _ | ' \ / _
| |
| | / | | | | | |) | / _|_|| || || ./ _| ||


**MyProject** — A thing that does stuff

</div>

The most effective README headers pair a banner with a one-line description:

 __  __
|  \/  | ___  _ __ ___   ___
| |\/| |/ _ \| '_ ` _ \ / _ \
| |  | | (_) | | | | | |  __/
|_|  |_|\___/|_| |_| |_|\___|

Fast, type-safe configuration for Node.js

This pattern works because the banner draws the eye and the tagline delivers the value proposition immediately.

Badges Below the Banner

Place your CI/coverage badges directly under the banner and tagline. This keeps the visual hierarchy clean:

[ASCII BANNER]

Short description of the project

[![Build](badge-url)]() [![Coverage](badge-url)]()

Common Mistakes to Avoid

1. Using Proportional Fonts

ASCII art only works with monospace fonts. GitHub renders code blocks in monospace, but inline text uses proportional fonts. Always wrap your banner in a code block (triple backticks).

2. Ignoring Dark Mode

GitHub supports light and dark themes. Your banner should be readable in both. Avoid relying on specific foreground/background colors — stick to the default code block styling.

3. Overly Complex Art

Elaborate ASCII logos look impressive on a desktop but become illegible on mobile. A simple text banner at a small font size almost always outperforms a detailed ASCII illustration.

4. Non-ASCII Characters

Characters like , , and may render as tofu (□) on systems without the right font fallbacks. Stick to standard ASCII characters (codes 32–126) for maximum compatibility.

Embedding Inline vs. Code Blocks

You have two options for placing ASCII art in markdown:

MethodProsCons
Fenced code blockMonospace guaranteed, syntax highlighting offTakes full width, has scrollbar on overflow
Markdown imagePixel-perfect control, supports colorNot readable in raw text, accessibility concerns
HTML <pre>More layout controlVerbose, may conflict with sanitizers

Recommendation: Use fenced code blocks for text banners. Use rendered images only when you need color or complex illustrations, and always provide alt text.

Generating Banners for READMEs

The fastest workflow for README banners:

  1. Type your project name into an ASCII art generator
  2. Select a narrow font (slant, small, or thin)
  3. Verify the output is under 72 columns wide
  4. Copy into a fenced code block in your README
  5. Check rendering on GitHub, GitLab, and mobile

Don't hand-draw banners — the alignment is almost always off. Generated output from FIGlet-based tools guarantees proper character spacing.

Try It Yourself

Generate a polished ASCII banner for your next README. Pick a font, preview it live, and copy the formatted output ready for markdown.

👉 Free ASCII Art Generator