UNIX / Linux: Display Large Colourful Text Banner On Screen

Posted on in Categories , , , , , , , , , last updated February 10, 2009

I know how to use old banner command to print a large, high quality banner on the screen or printer. Recently, I saw colorful banner on friends laptop. How do I display large colourful characters on screen, especially on terminal? How do I create colorful text banners on screen?

You can use following two programs to create colourful text banner:

a] figlet – Display large characters made up of ordinary screen characters.

b] toilet – Prints text using large characters made of smaller characters. It is similar in many ways to FIGlet with additional features such as Unicode handling, colour fonts, filters and various export formats.

Install figlet and toilet

Use yum or apt-get to install the tools:
$ sudo apt-get update
$ sudo apt-get install toilet figlet

How do I use figlet?

Simply use it as follows:
$ figlet nixCraft
Sample output:

       _       ____            __ _   
 _ __ (_)_  __/ ___|_ __ __ _ / _| |_ 
| '_ \| \ \/ / |   | '__/ _` | |_| __|
| | | | |>  <| |___| | | (_| |  _| |_ 
|_| |_|_/_/\_\\____|_|  \__,_|_|  \__|
                                      

figlet fonts

The -f option can be used to specify font:
$ figlet -f big "nixCraft"
Sample output:

       _       _____            __ _   
      (_)     / ____|          / _| |  
 _ __  ___  _| |     _ __ __ _| |_| |_ 
| '_ \| \ \/ / |    | '__/ _` |  _| __|
| | | | |>  <| |____| | | (_| | | | |_ 
|_| |_|_/_/\_\\_____|_|  \__,_|_|  \__|
                                       

$ figlet -f slant "nixCraft"
The -ct options centers the text and makes it take up the full width of the terminal:
$ figlet -ctf slant "nixCraft"
If you don’t want FIGlet to smush FIGcharacters into each other, use the -k (kerning) option:
$ figlet -k "cyberciti"
If figlet gets its input from a file, it is often a good idea to use -p:
$ figlet -p < /path/to/file

To lists figlet fonts and control files, enter:

$ figlist
Sample output

Default font: standard
Font directory: /usr/share/figlet
Figlet fonts in this directory:
banner
big
block
bubble
digital
ivrit
lean
mini
mnemonic
script
shadow
slant
small
smscript
smshadow
smslant
standard
term
....
..

How do I use toilet command?

Use command as follows:
$ toilet -f bigmono9 -F gay nixCraft
$ toilet -f mono12 -F metal nixCraft

Sample output:

toilet UNIX / Linux command screenshot
toilet UNIX / Linux command screenshot

Where,

  • -F filter-name: Set filter
  • -f fontname : Set font name

To list installed filter, type:
$ toilet -F list
Sample output:

Available filters:
"crop": crop unused blanks
"gay": add a rainbow colour effect
"metal": add a metallic colour effect
"flip": flip horizontally
"flop": flip vertically
"rotate": perform a 180 degrees rotation

Running figlet / toilet automatically

Add command to your ~/.bashrc command so that banner get displayed every time you open terminal or console:

echo 'echo "Welcome to"' >> ~/.bashrc
echo 'toilet -f mono12 -F metal nixCraft' >> ~/.bashrc

Recommended readings:

  • figlet home page.
  • Both commands offers lots of options, fonts and filters. Please read the man page for further details.

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

18 comment

  1. Thats cool. I use fedora and do not seem to have both of them in the repos. I could install figlet from the source but am unable to locate the toilet. Could you post the home page of toilet.

  2. I’m using Fedora 10 and am getting an error trying to configure TOIlet:

    configure: error: you need libcucul version 0.99.beta10 or later

    Whats the best way to go about solving this since I am pretty certain that libcucul was merged into libcaca? (I have the latest version of libcaca)

  3. sooo…. this looks amazing! though i get this error:

    [[email protected] ~]# yum install toilet figlet
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
    * addons: mirrors.versaweb.com
    * atomic: www5.atomicorp.com
    * base: mirror.hmc.edu
    * extras: mirrors.versaweb.com
    * updates: mirror.hmc.edu
    Excluding Packages in global exclude list
    Finished
    Setting up Install Process
    No package toilet available.
    No package figlet available.
    Nothing to do

  4. Here is a list of the different fonts available for toilet from the Ubuntu 12.04 LTS package list.

    ascii12
    ascii9
    bigascii12
    bigascii9
    bigmono12
    bigmono9
    circle
    emboss
    emboss2
    future
    letter
    mono12
    mono9
    pagga
    smascii12
    smascii9
    smblock
    smbraille
    smmono12
    smmono9
    wideterm

  5. I want a continuous banner on a linux terminal.
    like when i press enter and move to next prompt, the banner remain same and don’t removed like MOTD .
    MOTD is a one time display. i want a continous banner on a terminal.

Leave a Comment