# Yazi

> Blazing fast terminal file manager written in Rust, based on async I/O, with full asynchronous support, image preview, and a concurrent plugin system.

Yazi (meaning "duck") is an open-source terminal file manager written in Rust by developer sxyazi, first published in July 2023. It is built on non-blocking async I/O and targets an efficient, user-friendly, and customizable file management experience directly in the terminal. The project is MIT-licensed and currently in public beta, described by the maintainer as usable as a daily driver while still in heavy development.

## What It Is

Yazi is a TUI (terminal user interface) file manager that runs in the command line across Linux, macOS, Windows, and Android. It replaces or augments traditional file managers for developers and power users who prefer keyboard-driven, terminal-native workflows. Its core differentiator is a fully asynchronous architecture — all I/O operations are non-blocking and CPU tasks are distributed across multiple threads — which the project blog explains in a dedicated article titled "Why is Yazi Fast?".

## Architecture and Async Design

The async-first design is central to Yazi's identity:

- **Full Asynchronous Support**: Every I/O operation is non-blocking; CPU tasks spread across threads to maximize resource utilization.
- **Async Task Scheduling**: Real-time progress updates, task cancellation, and internal task priority assignment are built in.
- **Data Distribution Service**: Built on a client-server architecture (no separate server process required), integrated with a Lua-based publish-subscribe model for cross-instance communication and state persistence.
- **Virtual Filesystem**: Supports remote file management, custom VFS providers, and custom search engines.

## Key Features

Yazi ships a broad feature set out of the box:

- Scrollable preview for videos, PDFs, archives, code, and directories
- Built-in code highlighting and image decoding with pre-loading for fast rendering
- Multi-tab support and cross-directory selection
- Visual mode and bulk rename/create
- Vim-like input, pick, confirm, which, and notify components with auto-completion for `cd` paths
- Incremental find with real-time position and match count display
- Search by filename via `fd` and by content via `ripgrep`
- Integration with `fzf` and `zoxide` for quick navigation
- Git integration and mount manager via plugins
- Drag and drop, trash bin, mouse support, custom layouts, and a theme system
- Package manager for installing and updating plugins and themes with a single command

## Image Preview Support

Yazi has built-in support for a wide range of image display protocols, covering most modern terminals:

- Kitty unicode placeholders (kitty, Ghostty, Rio)
- Inline images protocol (iTerm2, WezTerm, Warp, Tabby, VSCode, Bobcat, Tabby)
- Sixel graphics (foot, Windows Terminal, st with Sixel patch, Black Box)
- Überzug++ for X11/Wayland environments
- Chafa fallback for ASCII art rendering

## Plugin and Extensibility Model

Yazi features a concurrent plugin system written in Lua, allowing users to rewrite most of the UI, add functional plugins, and define custom previewers, preloaders, spotters, and fetchers. The built-in package manager lets users install community plugins and themes with one command and pin them to specific versions.

## Update: v26.8.15

The latest release is **v26.8.15**, published on August 15, 2026, following the project's calendar-versioning scheme. The repository remains actively maintained with frequent pushes, and a nightly documentation channel is available alongside the stable release docs. The project has accumulated over 41,000 GitHub stars, reflecting strong community traction in the developer tools space.

## Features
- Full asynchronous I/O with multi-threaded CPU task distribution
- Async task scheduling with real-time progress, cancellation, and priority
- Built-in image preview supporting Kitty, Sixel, iTerm2 inline, Überzug++, and Chafa protocols
- Built-in code highlighting and image decoding with pre-loading
- Concurrent Lua plugin system for UI, functional, previewer, preloader, spotter, and fetcher plugins
- Built-in package manager for plugins and themes
- Virtual filesystem with remote file management and custom VFS providers
- Data Distribution Service with Lua pub-sub for cross-instance communication
- Multi-tab support and cross-directory selection
- Visual mode and bulk rename/create
- Vim-like input, pick, confirm, which, and notify components
- Incremental find with real-time position and match count
- Search by filename (fd) and content (ripgrep)
- Integration with fzf and zoxide for quick navigation
- Git integration and mount manager via plugins
- Drag and drop, trash bin, mouse support, custom layouts
- Theme system
- Scrollable preview for videos, PDFs, archives, code, and directories
- Archive extraction
- File chooser

## Integrations
ripgrep, fd, fzf, zoxide, Überzug++, Chafa, Neovim, kitty, iTerm2, WezTerm, Ghostty, Windows Terminal, Warp, VSCode, foot, Konsole

## Platforms
WINDOWS, MACOS, LINUX, ANDROID, API, VSC_EXTENSION, JETBRAINS_PLUGIN, CLI

## Pricing
Open Source

## Version
v26.8.15

## Links
- Website: https://yazi-rs.github.io
- Documentation: https://yazi-rs.github.io/docs/installation
- Repository: https://github.com/sxyazi/yazi
- EveryDev.ai: https://www.everydev.ai/tools/yazi
