| name | ascii-art |
| description | ASCII text banners and box art (pyfiglet, cowsay, boxes) |
| category | creative |
| version | 1.0.0 |
| origin | aiden |
| license | Apache-2.0 |
| tags | ascii, art, banner, text, figlet, cowsay, terminal, decoration, cli, creative |
ASCII Art Generation
Create ASCII art text banners, speech bubbles, box decorations, and large display text using pyfiglet, cowsay, and boxes — all CLI/Python tools.
When to Use
- User wants a stylized text banner for a terminal script or README
- User wants a fun cowsay/fortune-style message
- User wants decorative box borders around text
- User wants large ASCII letters for display purposes
- User wants ASCII art for CLI tool headers or splash screens
How to Use
1. Install tools
pip install pyfiglet
pip install cowsay
# boxes (optional, for border art)
# Windows: winget install info-zip.unzip # then download boxes binary
2. Generate a text banner with pyfiglet
import pyfiglet
print(pyfiglet.figlet_format("Hello World"))
print(pyfiglet.figlet_format("DevOS", font="banner3-D"))
fonts = pyfiglet.FigletFont.getFonts()
print(f"Available fonts: {len(fonts)}")
print(fonts[:20])
3. Sample popular pyfiglet fonts
import pyfiglet
text = "AIDEN"
for font in ["banner3", "big", "block", "colossal", "doom", "epic", "isometric1", "larry3d", "ogre", "slant", "speed", "starwars"]:
print(f"\n--- {font} ---")
print(pyfiglet.figlet_format(text, font=font))
4. Generate cowsay messages
import cowsay
cowsay.cow("Hello from Aiden!")
cowsay.tux("Linux penguin says hi")
cowsay.dragon("Deploy to production!")
cowsay.cheese("It is time to cheese")
print(cowsay.char_names)
5. Create a custom cowsay-style speech bubble
def speech_bubble(text, speaker="Aiden"):
width = max(len(line) for line in text.split("\n")) + 4
border = "─" * width
lines = [f"│ {line.ljust(width-2)} │" for line in text.split("\n")]
bubble = [f"┌{border}┐"] + lines + [f"└{border}┘"]
bubble.append(f" {speaker}")
print("\n".join(bubble))
speech_bubble("Task complete.\n3 files created.\nAll tests passing.", speaker="🤖 Aiden")
6. Create ASCII box borders
def boxed(text, style="double"):
styles = {
"single": ("┌","─","┐","│","└","┘"),
"double": ("╔","═","╗","║","╚","╝"),
"round": ("╭","─","╮","│","╰","╯"),
}
tl,h,tr,v,bl,br = styles.get(style, styles["single"])
lines = text.split("\n")
width = max(len(l) for l in lines) + 2
border = h * width
print(f"{tl}{border}{tr}")
for line in lines:
print(f"{v} {line.ljust(width-1)}{v}")
print(f"{bl}{border}{br}")
boxed("System Status: OK\nUptime: 99.9%\nTasks: 0 pending", style="double")
7. Color the output
import pyfiglet
CYAN = "\033[96m"
RESET = "\033[0m"
banner = pyfiglet.figlet_format("DEVOS", font="slant")
print(CYAN + banner + RESET)
Examples
"Create a banner saying 'AIDEN' for the CLI startup screen"
→ Use step 2 with font slant or doom, then step 7 to add cyan color.
"Make a cowsay message that says 'Deployment successful'"
→ Use step 4: cowsay.tux("Deployment successful!").
"Add a decorative box around my summary output"
→ Use step 6 with style="double" for a professional-looking double-line box.
Cautions
- pyfiglet output width depends on font — some fonts produce very wide output; use short text (< 12 chars) for block fonts
- Terminal color codes (ANSI) may not render correctly in all terminals — test before using in production scripts
- cowsay requires
pip install cowsay (Python port) — the Unix cowsay binary is separate
- Some pyfiglet fonts are available only if
pyfiglet[all] is installed — run pip install pyfiglet[all] for the full set