Anurag is an experienced journalist and author who’s been covering tech for the past 5 years, with a focus on Windows, Android, and Apple. He’s written for sites like Android Police, Neowin, Dexerto, and MakeTechEasier. Anurag’s always pumped about tech and loves getting his hands on the latest gadgets. When he's not procrastinating, you’ll probably find him catching the newest movies in theaters or scrolling through Twitter from his bed.
Over the years, I’ve bounced between countless file managers on Linux. I tried heavyweight GUIs like Nautilus and Thunar, and I spent plenty of time with terminal staples like Midnight Commander, Ranger, and nnn. Midnight Commander stuck with me the longest since it covered most of my needs, but none of them ever felt like the perfect fit. That changed when I discovered Yazi. This fairly new, Rust-based terminal file manager stands out for its clean design, fast performance, and features that hold their own against both text-based and graphical rivals.
Yazi is a modern terminal file manager
Written in Rust
Yazi (which means “duck” in Chinese) is a terminal file manager built in Rust, with asynchronous I/O at its core. This allows operations to run in parallel rather than blocking the interface, so even demanding tasks don’t freeze your session. Yazi is free, open source, and licensed under MIT. With a fast-growing community and tens of thousands of GitHub stars, it is already stable enough for everyday use despite still being in the public beta stage.
The file manager feels exceptionally responsive in daily use. Key presses register instantly, directory listings keep up with navigation, and the interface remains smooth even under heavy load.
Yazi also uses lazy loading. When you open a folder with thousands of files, it shows only what fits on the screen and streams the rest as you scroll. Background tasks such as file-type detection, thumbnail generation, and folder size calculation run on separate threads. If you move past a file before the preview is ready, Yazi cancels the job to save resources.
Installing Yazi on Linux is straightforward. The simplest way is using Snap. Open a terminal and run:
sudo snap install yazi --classicIf you want the latest development version, use:
sudo snap install yazi --classic --edgeYazi also works on macOS and can be installed through Homebrew. However, if you use it in the default terminal, some features will be limited, and you may need to install additional plugins.
It comes with all the features I need
And then some
Yazi comes with everything I need out of the box, and that means I don’t have to rely on external scripts or plugins for basic functionality. It supports tabs and multi-pane layouts, so I can keep several directories open and move between them easily, or set up a classic dual-pane workflow.
Yazi works with popular developer tools like ripgrep, fd, fzf, and zoxide. It also has an easy-to-use interface for searching, navigating, and performing quick actions. Managing files is simpler with features like multiple tabs, selecting files from different folders at once, and previewing videos, PDFs, and archives without opening them separately.
Every day tasks are just as smooth. I can bulk rename, move, or compress files across folders in one go. Deleted files go to the system Trash by default, and there’s an undo option for quick recovery if you change your mind. Git users get inline status indicators, which help you see modified or new files without switching tools. There’s also a built-in mount manager that lets you browse remote servers or archives directly from the interface.
Yazi is also highly customizable. Themes and icons can be tweaked through simple TOML files, and the built-in theme manager makes experimenting painless. For those who want even more, there's an official Lua-based plugin system that expands functionality with everything from audio metadata previews to integrated LazyGit.
Yazi vs other file managers
Yazi holds its own

I’ve tried most of the well-known terminal file managers, and switching to Yazi has shown me how far the experience has come. Ranger was once the go-to choice, but its Python base and blocking design feel dated today. Image previews need manual setup, trash support, and bulk operations aren’t as seamless, and performance drops in large directories. Yazi matches or improves on all of these features while running faster.
Other tools lean toward minimalism. lf, written in Go, is fast but leaves much of the functionality to user scripts. nnn, built in C, is impressively lightweight but relies heavily on plugins for common tasks and lacks inline previews. Yazi delivers the same speed while offering previews, trash handling, and plugin management straight out of the box. Even Midnight Commander, the classic dual-pane manager many of us grew up with, feels locked in a 1990s text-only world.
Compared with GUI managers like Nautilus, Dolphin, or Thunar, Yazi holds its own surprisingly well. GUI tools integrate tightly with desktop environments but feel heavier and mouse-oriented. Bulk renaming, cross-directory selection, and advanced searches often take a lot of effort. Performance is another area where Yazi shines. Instead of stalling while generating thousands of thumbnails, it loads the first screen instantly and streams the rest as you scroll.

There are so many Linux tools you are not using
Linux lets you try all kinds of apps and services. If you don’t like the default terminal commands, you can replace them with more modern ones. If the apps you have don’t suit you, there are plenty of lesser-known alternatives to explore. And if you’re not happy with the distro itself, you can always switch to one of our recommended favorites.