A delightful terminal user interface (TUI) for creating ASCII art using figlet and toilet. Because your terminal deserves to be an art studio.
- Live Preview: See your ASCII art update instantly as you type
- Font Gallery: Browse all installed
figletandtoiletfonts in a colorful scrollable list - Font Discovery: Automatically discovers fonts from common system locations across different operating systems
- Cross-Platform: Works on macOS, Linux, and Windows (WSL)
- Clipboard Support: Copy your creations with a single keypress
- Save to File: Export your artwork to timestamped files in
~/.figlet-studio/ - Colorful & Charming: Full of witty messages and vibrant colors
- Error-Tolerant: Gracefully handles missing fonts, render errors, and edge cases
| Key | Action |
|---|---|
Space |
Copy current render to clipboard |
S |
Save to file (~/.figlet-studio/) |
Tab |
Focus next widget |
Shift+Tab |
Focus previous widget |
Q |
Quit application |
Ctrl+C |
Quit application |
First, install figlet (and optionally toilet):
# macOS (Homebrew)
brew install figlet toilet
# macOS (MacPorts)
sudo port install figlet toilet
# Ubuntu/Debian
sudo apt install figlet toilet
# Fedora/RHEL
sudo dnf install figlet toilet
# Arch Linux
sudo pacman -S figlet toilet
# Windows (WSL)
sudo apt install figlet toilet# Clone or download this repository
cd figlet-studio
# Install with pip (recommended)
pip install -e .
# Or run directly
python figlet_studio.pyfiglet-studioOr:
python figlet_studio.py┌─────────────────────────────────────────────────────────────┐
│ HEADER (with clock) │
├─────────────────────────────────────────────────────────────┤
│ Status Bar (witty messages) │
├──────────────────────────────┬──────────────────────────────┤
│ │ │
│ ┌────────────────────────┐ │ ┌────────────────────────┐ │
│ │ │ │ │ ✨ FONT GALLERY ✨ │ │
│ │ LIVE ASCII PREVIEW │ │ │ │ │
│ │ │ │ │ 🎭 banner.flf │ │
│ │ Your text art │ │ │ ✏️ big.flf │ │
│ │ rendered here │ │ │ 🎭 block.tlf │ │
│ │ │ │ │ ✏️ standard.flf │ │
│ │ │ │ │ ... │ │
│ └────────────────────────┘ │ └────────────────────────┘ │
│ │ │
│ ┌────────────────────────┐ │ │
│ │ [Your text here] │ │ (scrollable list) │
│ └────────────────────────┘ │ │
│ │ │
│ Space: Copy | S: Save │ │
└──────────────────────────────┴──────────────────────────────┘
Font discovery automatically checks these paths:
/usr/local/share/figlet(and subdirectories)/opt/homebrew/share/figlet(and subdirectories)/usr/share/figlet(and subdirectories)~/Library/Fonts/figlet(and subdirectories)/usr/local/share/toilet/fonts(and subdirectories)/opt/homebrew/share/toilet/fonts(and subdirectories)/usr/share/toilet/fonts(and subdirectories)
/usr/share/figlet(and subdirectories)/usr/local/share/figlet(and subdirectories)~/.local/share/figlet(and subdirectories)/usr/share/toilet/fonts(and subdirectories)/usr/local/share/toilet/fonts(and subdirectories)~/.local/share/toilet/fonts(and subdirectories)
/usr/share/figlet(and subdirectories)/usr/share/toilet/fonts(and subdirectories)
figlet-studio/
├── figlet_studio.py # Main application
├── pyproject.toml # Project configuration
└── README.md # This file
textual>=0.86.0- The TUI frameworkpyperclip>=1.8.2- Clipboard functionality
Figlet Studio requires figlet to be installed on your system. Install it using your package manager (see Installation section above).
This is unusual but may happen with custom figlet installations. The app will still proceed with the default font. Check that:
figlet -Ireturns a valid font directory- Font files (
.flf) exist in the expected locations
If clipboard operations fail:
- On macOS, ensure you have the latest version of
pyperclip - On Wayland (Linux), you may need
wl-clipboardinstalled - On headless systems, the clipboard may not be available
If you see garbled characters or font errors:
- Try selecting a different font
- Some fonts may have issues with certain characters
- Very long text may timeout; try shorter text
If selecting a font doesn't update the preview:
- Try typing a character in the text input to force a re-render
- The font may be corrupted; try a different font
git clone https://github.com/yourusername/figlet-studio.git
cd figlet-studio
pip install -e .
python figlet_studio.pyMIT License - feel free to use this for your terminal art adventures!
- Built with Textual - the amazing TUI framework for Python
- Uses figlet for ASCII art rendering
- Uses toilet for extended font support and color
- Inspired by the timeless beauty of ASCII art and terminal aesthetics
Made with love for ASCII art enthusiasts. 🎨✨
