LinuxCommandLibrary

banner

Display text as a large banner

TLDR

Print the text message as a large banner (quotes are optional)

$ banner "[Hello World]"
copy

Use a banner width of 50 characters
$ banner [[-w|--width]] 50 "[Hello World]"
copy

Read text from stdin
$ banner
copy

SYNOPSIS

banner [-w width] string

PARAMETERS

-w width
    Sets output width in characters (default: 65); scales banner to fit.

DESCRIPTION

The banner command creates eye-catching, oversized ASCII art banners from input text, rendering each character in a blocky, 6-line-high font using a repeating symbol (default #). It's perfect for login screens, script outputs, or adding visual flair to terminal sessions.

Invoke it with a string argument like banner "HELLO", which displays "HELLO" in massive letters. Multiple words are supported, automatically converted to uppercase. If no argument is provided, it reads from standard input—useful for piping, e.g., echo "Linux" | banner.

The drawing character defaults to #, but can be customized by prefixing the string with a different printable ASCII character (e.g., banner * "STAR" uses asterisks). Output width is fixed at 65 characters by default but adjustable via options.

Simple and lightweight, banner is part of the bsdmainutils package on Debian-based systems. It's fast but limited to basic alphanumeric characters and uppercase output, making it less flexible than modern alternatives.

CAVEATS

Limited to uppercase A-Z, 0-9, space, and few symbols; unsupported characters render poorly. Fixed 6-line height per text line; may overflow narrow terminals without -w.

EXAMPLES

banner "WELCOME"
banner -w 40 "Linux Rules"
echo "stdin test" | banner
banner = "EQUALS" (uses = as drawing char)

HISTORY

Originated in 4.2BSD (1983) as a fun utility for ASCII art. Ported to Linux via bsdmainutils package; remains popular for retro-style banners despite successors like figlet.

SEE ALSO

figlet(1), toilet(1), cowsay(1)

Copied to clipboard