Make a bold one-line banner
A banner is a single line of text blown up into large block letters — the kind
of header you see in a terminal login message or at the top of a README. This
generator renders each character as a tall block built from the hash character
(#), then places the blocks side by side so the whole word reads as one big
banner.
How it works
Every supported character is stored as a 7-row by 5-column grid where #
marks a filled pixel and a space marks an empty one. Rendering walks the input
characters and appends each glyph’s rows to the matching banner rows, with a
two-space gap between letters:
banner_row[r] = glyph1.row[r] + " " + glyph2.row[r] + " " + ...
The seven rows are then joined with newlines. Because every glyph shares the same 7-row height, the columns line up perfectly — as long as the output is shown in a fixed-width font.
What the output looks like
For the input HI, the banner renders seven rows of hash characters:
# # #
# # #
# # #
##### #
# # #
# # #
# # #
Each letter is five columns wide with a two-space gap between them. Numbers follow the same 7-row format. The uniform height is what makes banners visually striking — all capitals, no descenders, pure block weight.
Where to use ASCII banners
Terminal MOTD (message of the day): Place the banner text in /etc/motd
on a Linux server and it displays automatically on every SSH login — a quick
way to remind yourself or your team which server you have connected to. Many
sysadmins also use it to show the hostname, environment (PROD / STAGING), or
a reminder of the server’s purpose.
README headers: Wrap the banner in a triple-backtick code fence in your repository’s README. On GitHub, Markdown code blocks use a monospace font, so the alignment is preserved perfectly. A large project name at the top of the README creates a distinctive visual identity.
Code-file section dividers: In long scripts, a smaller banner separating
major sections (FUNCTIONS, CONFIG, MAIN) helps navigate the file in an
editor without syntax highlighting.
Splash screens in CLI tools: If you write a command-line application, a startup banner establishes branding and communicates the tool name clearly in a terminal recording or screenshot.
Practical tips
Keep banners to a single short word or two — each character adds roughly seven columns of width, so five letters at five columns each is 35 columns, and with gaps that expands to about 45 columns. Long phrases overflow an 80-column terminal. To keep it readable at standard terminal widths, aim for four to six characters.
Characters outside A–Z and 0–9 are dropped (not rendered as unknowns), so symbols, hyphens, and punctuation do not appear. If you need a multi-word banner, place each word on its own line so the terminal renders them stacked rather than overflowing a single row.