ansimotd: Retro ANSI Art for Your Terminal

I built a CLI tool called ansimotd that displays random ANSI art whenever you open a terminal.

ansimotd example

How it works

ansimotd looks for ANSI art files in ~/.config/ansimotd/art/ and randomly selects one to display. It parses SAUCE metadata (a 128-byte block at the end of ANSI files) to determine the dimensions of each piece of art and ensure it fits your terminal width.

Getting started

Install with Homebrew:

brew tap retlehs/tap
brew install retlehs/tap/ansimotd

On Ubuntu/Debian:

curl -fsSL https://apt.ansimotd.com/install.sh | sudo sh

Or install with Go:

go install github.com/retlehs/ansimotd@latest

Download some art packs from 16colo.rs:

ansimotd download 1996
ansimotd download 1997
ansimotd download 1998
ansimotd download 1999

Add to your shell profile:

# Add to ~/.zshrc or ~/.bashrc
ansimotd

Technical details

ansimotd is a single Go binary with no external dependencies. It handles several interesting challenges:

Check it out at github.com/retlehs/ansimotd.

I also built ansimotd.com, a website that shows a random piece of ANSI art from 16colo.rs. Follow @ansimotd on X and @ansimotd.com on Bluesky for daily posts of random art.