explaingit

sxyazi/yazi

Analysis updated 2026-06-20

37,659RustAudience · developerComplexity · 2/5LicenseSetup · moderate

TLDR

Yazi is a blazing-fast terminal file manager written in Rust that stays responsive while loading image previews and browsing large directories, with Lua plugins and Vim-style keyboard navigation.

Mindmap

mindmap
  root((yazi))
    What it does
      Terminal file manager
      Async non-blocking IO
      Vim-style navigation
    Previews
      Images
      PDFs and videos
      Code files
    Integrations
      ripgrep search
      fzf fuzzy find
      zoxide jumping
    Customization
      Lua plugins
      Custom previewers
      Configurable keybindings
    Platforms
      macOS
      Linux
      Android
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Browse and manage files entirely from a terminal with instant image, PDF, and video previews using your existing keyboard muscle memory.

USE CASE 2

Add custom file previewers or UI tweaks by writing small Lua plugin scripts without touching the core Rust code.

USE CASE 3

Replace a sluggish file manager in a terminal workflow on macOS, Linux, or Android with one that integrates with ripgrep, fzf, and zoxide.

USE CASE 4

Bulk rename files, extract archives, and open tabs, all without leaving the terminal.

What is it built with?

RustLua

How does it compare?

sxyazi/yazispacedriveapp/spacedrivegyulyvgc/sniffnet
Stars37,65937,96237,270
LanguageRustRustRust
Setup difficultymoderatehardmoderate
Complexity2/54/53/5
Audiencedeveloperdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Image previews require a compatible terminal (kitty, iTerm2, WezTerm, Ghostty), optional tools like ripgrep, fzf, and zoxide need separate installation.

MIT license, use, copy, modify, and distribute freely for any purpose including commercial use, as long as the license notice is kept.

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 on macOS and configure it to show image previews in iTerm2?
Prompt 2
Show me how to write a simple Lua plugin for yazi that opens files with a custom command.
Prompt 3
How do I set up yazi to use ripgrep for search and zoxide for smart directory jumping?
Prompt 4
What keybindings do I need to know to navigate yazi like a Vim user, move, select, bulk rename?
Prompt 5
How do I configure yazi to preview PDF and video files in a terminal that supports kitty graphics protocol?

Frequently asked questions

What is yazi?

Yazi is a blazing-fast terminal file manager written in Rust that stays responsive while loading image previews and browsing large directories, with Lua plugins and Vim-style keyboard navigation.

What language is yazi written in?

Mainly Rust. The stack also includes Rust, Lua.

What license does yazi use?

MIT license, use, copy, modify, and distribute freely for any purpose including commercial use, as long as the license notice is kept.

How hard is yazi to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is yazi for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub sxyazi on gitmyhub

Verify against the repo before relying on details.