Yazi
FreeA terminal file manager that never stalls on huge directories — and previews images inline
A terminal file manager written in Rust on non-blocking async I/O, so browsing a directory of tens of thousands of files, generating previews or computing folder sizes never freezes the interface. It previews images, video and PDFs directly in the terminal, integrates with fzf, ripgrep and fd, and has a plugin system.
Why we picked it
MIT-licensed, 42,000 stars.
Terminal file managers are not new — ranger and nnn have been around for years. Yazi's difference is async: preview generation, directory size computation and listing loads all stay off the main thread. Entering a folder holding tens of thousands of images does not freeze the UI while something counts, which is one of the more irritating experiences in ranger.
Inline image preview is the other concrete difference. In terminals that support graphics protocols — kitty, WezTerm, Ghostty — it renders the actual image rather than an ASCII approximation. Hunting for a screenshot over ssh no longer means scp-ing it back to open locally.
Integration with command-line tools is clean: fuzzy jumping through fzf, full-text search through ripgrep, name lookup through fd, all as built-in keybindings rather than glued-together scripts. Bulk rename works by dumping filenames into your editor, editing and saving.
To be clear about:
- It runs on Windows, but image preview depends on the terminal supporting a graphics protocol, so the experience is reduced under Windows Terminal.
- Keybindings are Vim-style
hjkl. Unfamiliar hands will need some time.