explaingit

sxyazi/yazi

📈 Trending38,222RustAudience · developerComplexity · 3/5ActiveLicenseSetup · easy

TLDR

A blazing-fast terminal file manager written in Rust with async I/O, image previews, and Lua plugins that keeps the interface responsive even when browsing huge directories.

Mindmap

mindmap
  root((Yazi))
    What it does
      Fast file browsing
      Image previews
      Async operations
      Tab support
    Key features
      Lua plugins
      Vim keybindings
      Bulk renaming
      Archive extraction
    Tech stack
      Rust core
      Lua scripting
      Async I/O
    Integrations
      ripgrep search
      fzf fuzzy find
      fd file find
      zoxide jumping
    Use cases
      Terminal power users
      Fast directory work
      Image preview needs
    Platforms
      macOS
      Linux
      Android

Things people build with this

USE CASE 1

Browse and manage files in the terminal with instant image and PDF previews without lag.

USE CASE 2

Bulk rename, extract archives, and navigate directories using Vim-style keyboard shortcuts.

USE CASE 3

Extend the file manager with custom previewers and loaders using Lua plugins.

USE CASE 4

Integrate terminal workflows with ripgrep, fzf, fd, and zoxide for faster file operations.

Tech stack

RustLuaAsync I/OMulti-threading

Getting it running

Difficulty · easy Time to first run · 5min
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

Yazi is a blazing fast terminal file manager written in Rust that uses non-blocking async I/O to browse and manage files entirely within a terminal window. The problem it solves is simple: traditional terminal file managers (like mc or ranger) can feel sluggish when listing large directories, loading image previews, or running background tasks. Yazi tackles this by making every I/O operation asynchronous, meaning the interface stays responsive while the file system works in the background. Under the hood, Yazi spreads CPU-heavy work across multiple threads and handles file I/O without ever blocking the interface. It includes a built-in image preview system that works with many modern terminals (kitty, iTerm2, WezTerm, Ghostty, and more) by speaking their native image display protocols. A lightweight plugin system based on Lua lets users rewrite parts of the UI or add custom previewers and loaders. It also integrates with popular command-line tools like ripgrep (fast text search), fzf (fuzzy finder), fd (fast file find), and zoxide (smart directory jumping). Navigation feels familiar to Vim users: keyboard-driven with j/k movement, visual mode, and configurable keybindings. You would reach for Yazi if you spend most of your time in the terminal and want a file manager that keeps up with you, fast directory traversal, instant previews of images, PDFs, videos, and code, bulk renaming, archive extraction, and tab support. It works on macOS, Linux, and Android. The tech stack is Rust for performance and safety, with Lua as the scripting language for plugins and customization. The project is in public beta, actively developed, and MIT-licensed.

Copy-paste prompts

Prompt 1
How do I install Yazi and set up image previews in my terminal?
Prompt 2
Show me how to create a custom Lua plugin for Yazi that adds a new file previewer.
Prompt 3
How do I configure Yazi keybindings to match my Vim workflow?
Prompt 4
What's the best way to use Yazi with ripgrep and fzf for fast file searching?
Prompt 5
How do I enable Yazi on Android and what are the limitations?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.