What is Yazi
Yazi (鸭子, meaning duck in Chinese) is a terminal file manager written in Rust. It combines modern async I/O with a plugin system, image preview, and a task manager — all running inside your terminal.
Why the name?
Yazi is named after the duck (鸭子, yā zi), a bird that swims gracefully above water while paddling furiously below — much like Yazi's async engine working in the background while the UI stays responsive.
Key Features at a Glance
| Feature | Description |
|---|---|
| Async I/O | Non-blocking file operations powered by tokio — copy, move, search, and archive operations never freeze the UI |
| Lua Plugin System | Extend Yazi with Lua scripts; plugins can intercept events, render UI widgets, and communicate over IPC |
| Image Preview | Supports kitty protocol, iTerm2, WezTerm, sixel, and Überzug++ — preview images, video thumbnails, PDFs, and more |
| Multi-Tab | Open multiple tabs, rename them, swap them, and persist sessions across restarts |
| Built-in Task Manager | View and manage async tasks — copy, move, delete, plugin tasks, and shell processes — with real-time progress |
| DDS (Data Distribution Service) | Pub-sub communication between Yazi instances on the same machine — useful for multi-pane workflows |
Shell Wrapper (y) | A shell function that runs Yazi and changes the shell's working directory to Yazi's last directory on exit |
| Flavor System | Pre-made theme packages with automatic dark/light mode detection |
Prerequisites
Yazi requires the file command for file type detection. The following tools are optional but enable specific features:
| Tool | Enables |
|---|---|
file | Required — file type detection and preview |
| ffmpeg | Video thumbnail generation |
| 7-Zip | Archive preview and extraction |
| jq | JSON file preview |
| poppler | PDF preview (via pdftoppm) |
| fd | File searching (s key) |
| ripgrep | File content searching (S key) |
| fzf | Quick file subtree navigation (>= 0.53.0) |
| zoxide | Historical directory navigation (z key) |
| Nerd Fonts | Icon display in file lists and UI |
info
Yazi is not a file manager that runs as a daemon or requires a server. Each Yazi process is independent, though DDS enables them to communicate when multiple instances are open.
Getting Help
- Press
F1or~inside Yazi to open the built-in help menu - Visit the official documentation
- Browse community resources for plugins and flavors