Yazi
A blazing-fast terminal file manager built on fully asynchronous I/O.
About
Yazi ("duck" in Chinese) is a terminal file manager by sxyazi, written in Rust on non-blocking async I/O. Every operation — directory listing, preview generation, copying, image decoding — runs on background threads, so the UI never freezes on huge directories the way synchronous managers like ranger can. It ships Vim-style keybindings, multi-tab support, scrollable previews for images, videos, PDFs, archives, and syntax-highlighted code, plus bulk rename, visual mode, a file chooser, Git integration, a mount manager, trash-bin support, mouse support, and drag-and-drop.
Extensibility comes from a concurrent Lua plugin system with a built-in package manager for installing and pinning plugins and themes, and it integrates with ripgrep, fd, fzf, and zoxide out of the box. The "blazing fast" claim is provider-stated and explained in the project's own architecture article; no independent benchmarks were found. One honest caveat from the README itself: Yazi is in public beta and heavy development, so expect breaking changes. Free and MIT-licensed for macOS, Linux, and Windows.
What it can do
- Fully asynchronous I/O: never-blocking UI on huge directories
- Vim-style keybindings with multi-tab support
- Scrollable previews: images, videos, PDFs, archives, code, directories
- Concurrent Lua plugin system with one-command package manager
- Bulk rename, bulk create, archive extraction, visual mode
- Git integration, mount manager, trash bin, file chooser
- Integrations with ripgrep, fd, fzf, zoxide, rclone
- Theme system, mouse support, drag-and-drop
- Virtual filesystem for remote file management
- Client-server architecture with cross-instance state
Setup
Install via Homebrew (brew install yazi), your distro package manager, or the release zip from GitHub. Run yazi to launch. For the common "cd on exit" behavior, add the documented shell function (using --cwd-file) to your rc file. Configure keybindings, themes, and plugins in ~/.config/yazi/; install community plugins with the built-in package manager.
Prerequisites
macOS, Linux, or Windows; a terminal with image-protocol support (Kitty, iTerm2, Sixel, or Uberzug++/Chafa fallback) for image previews.
Use cases
Works with
Trust score — 8/10
Scored 8/10 (metrics tier, metrics-v1). Evidence: ~42.9k GitHub stars with commits pushed October 15, 2026; the README and independent reviews confirm the async I/O architecture, Vim keybindings, rich previews, Lua plugin system with package manager, and the tool integrations. Strengths: the fastest-feeling terminal file manager available, genuinely innovative architecture, strong feature set for a young project. Docked for: (1) still in public beta with explicitly expected breaking changes; (2) speed claims are provider-stated with no published independent benchmarks; (3) image previews depend on terminal capabilities and optional external helpers. License: MIT.
★ 42,864 GitHub stars
How the trust score is built
Full methodology →- Adoption · stars/downloads, log-scaled vs peers
- 8.0/10
- Maintenance · recency, releases, issue load
- 9.0/10
- Openness · license + docs
- 9.0/10
- Manual review · sanity read + red-flag check
- 8.0/10
- · ~42.9k GitHub stars (Oct 16, 2026 snapshot), commits pushed Oct 15, 2026; by sxyazi; Rust; async I/O
- · Vim keybindings; image/video/PDF/code previews; Lua plugin system with package manager; rg/fd/fzf/zoxide/rclone integrations
- · README states public beta with expected breaking changes; speed claims provider-stated; previews need terminal support
Sources
Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.