moji

A terminal art toolkit with 13 feature categories. 170+ kaomoji, 47 FIGlet fonts, 20 text effects, 23 color filters, 12 gradient themes, 24 image charsets, and more.
__ __ ___ _ ___
| \/ |/ _ \ _ | |_ _|
| |\/| | (_) || || || |
|_| |_|\___/ \__/|___|
Demo

Regenerate demo GIF
Requires VHS:
vhs vhs/demo.tape
Install
Homebrew:
brew install ddmoney420/tap/moji
Go:
go install github.com/ddmoney420/moji@latest
Binary releases:
Download from Releases.
From source:
git clone https://github.com/ddmoney420/moji.git
cd moji
make install
Quick Start
# Kaomoji
moji shrug # => ¯\_(ツ)_/¯
moji tableflip # => (╯°□°)╯︵ ┻━┻
# ASCII banners
moji banner "HELLO" --font slant --style rainbow
# Color filters
moji filter neon "Glow"
moji filter fire "Burn"
# QR codes
moji qr "https://github.com/ddmoney420/moji"
# Image to ASCII
moji convert photo.jpg --color --charset blocks
# Image with Sixel/Kitty protocol (true image rendering)
moji convert photo.jpg --protocol auto
# Text effects
moji effect zalgo "Cursed"
moji effect bubble "Bubbles"
# Interactive TUI
moji interactive
Features
Kaomoji & Emoji
170+ built-in kaomoji with search and categories.
moji list # List all
moji list --category happy # Filter by category
moji random # Random kaomoji
moji shrug # Direct lookup
moji emoji ":)" # ASCII to emoji
ASCII Banners
FIGlet-powered text banners with 47 fonts and 18 color styles.
moji banner "TEXT" --font standard
moji banner "FIRE" --font slant --style fire
moji banner "COOL" --font big --style neon
moji list-fonts # See all fonts
moji preview "Hi" # Preview all fonts
Color Filters
Apply color effects to any text or piped input.
moji filter rainbow "Text"
moji filter matrix "Hack"
moji filter neon "Glow"
echo "Pipe me" | moji filter fire
moji banner "WOW" | moji filter ice
Available: rainbow, fire, ice, neon, matrix, glitch, metal, retro, 3d, shadow, border, bold, italic, underline, invert
Text Effects
Unicode text transformations.
moji effect flip "Hello" # Upside down
moji effect bubble "Hello" # Circled letters
moji effect fraktur "Hello" # Gothic style
moji effect zalgo "Hello" # Corrupted text
moji list-effects # See all effects
Image Conversion
Convert images to ASCII art or render with terminal graphics protocols.
# ASCII conversion
moji convert image.png
moji convert image.jpg --width 120 --color
moji convert image.png --charset braille --color
moji convert image.png --edge # Line art style
# Terminal graphics protocols (true image rendering)
moji convert image.png --protocol sixel
moji convert image.png --protocol kitty
moji convert image.png --protocol iterm2
moji convert image.png --protocol auto # Auto-detect best
Supported protocols:
- Sixel - xterm, mlterm, foot, mintty, contour
- Kitty - Kitty terminal
- iTerm2 - iTerm2 on macOS
QR Codes
Generate ASCII QR codes.
moji qr "Hello World"
moji qr "https://example.com" --charset blocks
moji qr "text" --invert --compact
Patterns & Borders
Decorative borders and dividers.
moji pattern border "Framed" --style double
moji pattern divider --style stars --width 40
moji list-patterns
Calendar
ASCII calendar views.
moji cal # Current month
moji cal --week # Week view
moji cal --year # Full year
Color Gradients
Apply color gradients to text.
moji gradient "Rainbow Text" --theme rainbow
moji gradient "Sunset Vibes" --theme sunset --mode diagonal
moji list-themes
System Info
Neofetch-style system information display.
moji sysinfo
moji sysinfo --theme neon
Interactive TUI
Full-featured terminal UI with live preview, 9 feature tabs, and export.
moji interactive # or: moji i, moji ui, moji studio
Controls: 1-9 tabs, arrows navigate, Enter copy, e export, ? help
Export
Export any output to PNG, SVG, HTML, or TXT.
moji banner "Hi" -o banner.png
moji banner "Hi" -o banner.svg
The TUI export modal (e key) includes a file browser for path selection.
Configuration
moji config init # Create config file
moji config show # Show current config
Config file: ~/.config/moji/config.yaml
Shell Completions
moji completions bash >> ~/.bashrc
moji completions zsh >> ~/.zshrc
moji completions fish > ~/.config/fish/completions/moji.fish
Diagnostics
moji doctor # Check terminal capabilities
moji term # Show terminal info
Web Playground
Try moji in your browser at ddmoney420.github.io/moji. The playground runs via WebAssembly and includes live preview, copy-to-clipboard, and save-as-image.
To run locally:
make web-serve # Builds WASM and serves at http://localhost:8080
Development
make help # Show all targets
make build # Build binary
make test # Run tests
make lint # Run linter
make ci # Full CI pipeline (fmt, vet, lint, test, build)
make ci-quick # Quick CI (skip lint)
make install # Build and install to /usr/local/bin
Generate terminal recordings:
# Requires: https://github.com/charmbracelet/vhs
vhs vhs/demo.tape
vhs vhs/banner.tape
vhs vhs/tui.tape
vhs vhs/filters.tape
Release:
# Requires: https://goreleaser.com
goreleaser release --clean
License
MIT