moji (Microck/moji)

bubbletea
Searching Database…

257 ·GitHub
What is this?Moji is a terminal tool that searches multiple font sources (GetFonts, DaFont, Fontshare, GitHub, and more), ranks the results, and downloads the font file that best matches your query.
Is this a plain CLI, or does it have its own interface?It is both: running 'moji' with no arguments opens an interactive Bubble Tea TUI, while piping a query prints a stable table or JSON for scripting.
How do I install it and start searching?Install via your usual package manager or this repo's Homebrew formula with the explicit tap, e.g. 'brew install microck/moji/moji', since the repo isn't named homebrew-moji. After that, run 'moji' to open the TUI or 'moji ' to search directly.
Do I need any accounts or tokens just to search?No — the default GetFonts, DaFont, Fontshare, and registry providers work without an account. GitHub search and the websearch provider (via kagi-cli or SearXNG) are optional extras that each need their own auth.
Any providers or downloads I should watch out for?Font Squirrel is disabled by default because its site protection can block API clients, downloads are capped at 50 MiB with font-magic-byte validation before being kept, and license metadata is only best-effort so you should verify a font's license before redistributing it.
Does it work the same on Linux, macOS, and Windows?Yes — moji ships as native binaries distributed through both npm and Homebrew, so the same tool runs on Linux, macOS, and Windows without extra setup.
Can moji convert fonts between formats?Yes, 'moji convert' turns TTF/OTF into WOFF2 and can restore a WOFF2 back to the TTF or OTF outline stored inside it, without altering the glyph outlines.
What does 'moji inspect' tell me about a font?It reads the font's character map and reports exact Unicode script coverage, so you can check whether a font supports scripts like Cyrillic, Arabic, or Han without guessing from the filename.
How does moji avoid saving duplicate font files?It computes SHA-256 hashes of downloaded files, so the same font won't be saved twice even across different searches.
What happens if the top search result turns out to be a bad file?moji validates the font's magic bytes after download; if the first ranked link returns invalid font bytes, it remembers that URL and automatically tries the next candidate.
What are similar projects?veet, cliamp, fx, ripgrep, yoinks, gh-dash, tuios, sampler
Creator
Microck
Size
7.7 MB
Stars
257
Age
3mo
Commits · 90 Days