A shell-like, text-based terminal file manager where you manage files by typing commands instead of using a TUI or GUI.
jarun/nnn
A tiny, fast terminal file manager in C for browsing, batch renaming, disk usage analysis and launching apps.
Open-source alternative to:Finder
Windows Explorer
- Stars
- 22,084
- Forks
- 834
- Open issues
- 9
- Last commit
- 15 days ago
What is it?
nnn (n³) is a terminal file manager written in C. It is designed to be small, with a binary of around 150 KiB and a low memory footprint, and it works with little or no configuration. Beyond basic browsing, it can analyze disk usage, batch rename files, launch applications and act as a file picker.
The core program is extended through plugins, which are language-agnostic and cover tasks such as live file previews, mounting disks, finding and listing files, diffing files and directories, and uploading files. It also offers contexts (tabs or workspaces), bookmarks, sessions, search-as-you-type filtering and integration with the FreeDesktop trash. A Neovim plugin, nnn.nvim, is available.
nnn runs on Linux, macOS, BSD, Android through Termux, Raspberry Pi, WSL and Cygwin, both inside desktop environments and in pure CLI sessions.
Key features
- 01Batch renamer for selected files or a whole directory
- 02Disk usage analyzer with block and apparent size modes
- 03Plugin system for previews, mounts, archives and more
- 04Contexts, bookmarks and sessions for navigating multiple locations
- 05Search-as-you-type filtering with fuzzy and regex options
- 06cd-on-quit shell integration and a Neovim plugin
Use cases
- Browsing and organizing files over SSH on a server or Raspberry Pi
- Batch renaming photos or media files from the terminal
- Finding which directories consume the most disk space
- Using a terminal file manager on Android through Termux
Quick start
- 1
Install nnn, preferably using your package manager (see the Wiki install guide)
- 2
Run the official quickstart script from the README to generate a shell function (review it first)
Things to know
- Some features, such as remote mounts, need extra tools like sshfs or rclone, and many extras require installing plugins.
Topics
FAQ
- What is nnn?
- A tiny, fast terminal file manager in C for browsing, batch renaming, disk usage analysis and launching apps. nnn (n³) is a terminal file manager written in C. It is designed to be small, with a binary of around 150 KiB and a low memory footprint, and it works with little or no configuration. Beyond basic browsing, it can analyze disk usage, batch rename files, launch applications and act as a file picker.
- Is nnn free to use? What license does it have?
- nnn is open source under the BSD-2-Clause license. Check the license terms before using it in commercial products.
- Is nnn still maintained?
- Actively maintained. The last commit to nnn was on Oct 7, 2026.
- What can I use nnn for?
- Browsing and organizing files over SSH on a server or Raspberry Pi Batch renaming photos or media files from the terminal Finding which directories consume the most disk space Using a terminal file manager on Android through Termux
- How do I install nnn?
- Install nnn, preferably using your package manager (see the Wiki install guide) Run the official quickstart script from the README to generate a shell function (review it first)
- Where can I get nnn?
- The source code and installation instructions are on GitHub: https://github.com/jarun/nnn
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A terminal file manager written in Rust, built on non-blocking async I/O with image preview, Lua plugins and a vim-like interface.
An open-source, AI-integrated terminal for macOS, Linux and Windows that supports BYOK and local models, durable SSH sessions and inline file previews.
A modern terminal file manager written in Go, built with Bubble Tea, for browsing and managing files from the command line.
A keyboard-driven, three-pane terminal file browser written in Rust, configurable with Lua and rich external previews.
React renderer for building interactive command-line apps with components and Flexbox layouts in the terminal.