That big blocky text banner you sometimes see in a terminal, a commit message, or a README โ here's how it's actually made.
The basic idea โ a font as a character grid
Each letter and digit has a predefined "shape" pattern stored ahead of time (similar to a dot-matrix font), and the filled cells of that pattern get drawn with a character like # or *, while empty cells become spaces. The characters together form the large letter shape.
Why it has to be viewed in a fixed-width font
ASCII art only holds together if every line's characters line up exactly. An ordinary font (variable-width) gives each character a different width, throwing off the alignment โ so it needs to be viewed in a monospace font, like a terminal or code editor, to look as intended.
Common use cases
This shows up as an eye-catching banner in a commit message or console log, a logo shown on a CLI tool's startup screen, or decorative project-name text at the top of a README.