gitwtfhub

wtf is yazi?

sxyazi/yazi — explained in plain English

Analysis updated 2026-06-20

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

TL;DR

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

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

Why would anyone build with this?

REASON 1

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

REASON 2

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

REASON 3

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

REASON 4

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

What's in the stack?

RustLua

How it stacks up

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 spin it up?

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.

Wtf does this do

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.

Yoink these 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

wtf 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.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.