30 open-source projects similar to dylanaraps/fff, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Dylanaraps Fff alternative.
lf is a terminal-based file manager and TUI file explorer that provides keyboard-driven navigation for browsing and organizing files and directories. It operates as a shell-integrated tool that synchronizes the current working directory with the calling shell and supports vi-style keybindings for filesystem operations. The project distinguishes itself through its ability to render images directly in the terminal via the SIXEL graphics protocol and its shell-driven execution model, which allows users to extend functionality using external shell scripts and commands. It also implements a server
Ranger is a keyboard-centric console file manager that provides a multi-column, text-based interface for navigating and organizing local file systems. It functions as a productivity tool designed to streamline command-line workflows by allowing users to perform standard file operations, such as copying, moving, and deleting, directly within a terminal environment. The project distinguishes itself through its extensible architecture and deep integration with the host shell. It supports custom plugin development and maintains context between sessions by syncing the working directory upon exit.
This project is a keyboard-driven terminal file manager designed for efficient navigation and manipulation of local and remote filesystems. It functions as both a standalone console file explorer and a versatile file picker, allowing users to select paths and pass them to external shell commands or system utilities for automated workflows. The application distinguishes itself through a highly modular architecture that supports compile-time feature flagging and static binary compilation, ensuring a minimal memory footprint and portability across environments. Users can extend its core function
Joshuto is a keyboard-driven terminal user interface file manager built with Rust. It functions as a Vim-like file explorer, providing a text-based environment for browsing directories and performing filesystem operations through modal navigation and cursor-based movements. The project distinguishes itself through a side-by-side column view that allows for terminal file previewing, including the rendering of image thumbnails and file contents. It supports a highly customizable workflow where users can define their own keybindings, visual themes, and terminal styles through external configurat
Eza is a command-line utility designed to replace standard directory listing tools by providing a more informative and visually intuitive interface for exploring file systems. Built with memory-safe systems programming, it queries low-level operating system interfaces to retrieve and display comprehensive file metadata, including permissions, ownership, and modification times. The tool distinguishes itself through its use of terminal-based color coding and advanced organization capabilities. It maps structured file metadata to specific color sequences to improve readability and offers modular
mini.nvim is a comprehensive library of independent modules designed to extend Neovim with a wide array of navigation, user interface, and text manipulation tools. It serves as a modular plugin collection, a UI toolkit for creating custom statuslines and notifications, and a package manager for installing and pinning external plugins from Git. The project provides a specialized fuzzy picker framework for filtering files and symbols, an LSP completion engine with interactive snippet expansion, and a dedicated plugin test framework that uses headless editor instances and remote procedure calls
Broot is an interactive terminal file manager designed for navigating, searching, and manipulating complex file system hierarchies. It provides a visual tree-based interface that allows users to explore disk contents, manage file operations, and execute shell commands directly within the command line environment. The tool distinguishes itself through real-time fuzzy searching and recursive tree traversal, which filter directory structures as you type to maintain a clear, relevant view of the file system. It integrates version control status directly into the navigation view, displaying branch
Superfile is a keyboard-driven file manager designed for terminal environments. It provides a workspace for browsing, organizing, and manipulating local file systems through a multi-pane interface that supports standard file operations, directory navigation, and real-time fuzzy search. The application distinguishes itself through a modular architecture that allows for extensive customization of the user interface, including themes, icon sets, and layout dimensions. Users can define custom keyboard shortcuts, map file extensions to specific applications, and integrate external tools or scripts
xplr is a terminal-based file explorer that combines a composable panel layout engine with a Lua plugin runtime, allowing users to script custom keybindings, layouts, and workflow automation without recompiling. Its mode-based keybinding contexts switch mappings based on the current task, and the pipeline-based file filtering mechanism lets you dynamically refine the file listing with a visible, reorderable stack of criteria. The core integrates with external processes through a FIFO message bus, enabling commands and directory changes to flow between the explorer and outside tools. What sets
Yazi is a high-performance terminal file manager designed for keyboard-driven navigation and organization of local file systems. Built as an asynchronous application, it utilizes a non-blocking runtime to execute concurrent file operations and interface updates, ensuring the user experience remains responsive even during intensive tasks. The interface is rendered directly into the terminal emulator using escape sequences to maintain minimal memory overhead. The application distinguishes itself through a modular architecture that supports custom functionality via an embedded scripting engine.
You-Dont-Need-GUI is a curated reference of terminal commands that replace common graphical interface operations with equivalent shell one-liners. It maps everyday GUI actions—file management, archive handling, system monitoring, and network diagnostics—to standard POSIX utilities like find, grep, and awk, all composed as self-contained shell pipelines. The project distinguishes itself by requiring no external dependencies or installations; every solution runs with built-in shell commands and coreutils. Its documentation follows Unix man-page conventions, presenting each command with a
This project is a Lua-based file explorer plugin for Neovim that provides a sidebar tree interface for navigating project directories. It functions as a file system node manipulator and a Git-integrated file manager, allowing users to interact with their project structure directly within the editor. The plugin distinguishes itself by integrating version control status into the visual tree, enabling users to track, stage, and unstage files through the explorer interface. It also features a public API that allows external scripts to trigger internal functions and subscribe to system events. Th
Exa is a command-line utility designed to replace traditional file listing commands in Unix-like environments. It functions as a terminal-based file explorer that displays directory contents alongside system metadata and file attributes. The tool distinguishes itself by integrating version control information directly into the directory listing, allowing users to view the status of files within a repository alongside standard system data. It utilizes terminal-based styling to provide color-coded output, which helps visually differentiate between file types and metadata. The utility supports
fasd is a frecency-based path navigator and POSIX shell productivity tool designed to accelerate navigation between files and directories. It functions as a command-line wrapper that resolves shorthand queries into absolute paths by ranking results based on how often and how recently they have been accessed. The utility uses fuzzy string matching and case-insensitive lookups to resolve partial directory and file names. It can also import access history from external backends, such as text editors and desktop environments, to refine the accuracy of its ranking database. The tool provides shel
This project is a high-performance command-line utility designed for rapid filesystem navigation and file discovery. It enables users to locate files and directories within large project structures using recursive search, pattern matching, and metadata-aware filtering. By employing multi-threaded parallel traversal, it provides an efficient way to explore complex directory trees. What distinguishes this tool is its ability to integrate directly into terminal workflows and automate file management tasks. It automatically respects version control ignore files and hidden file settings, ensuring
This project is a command-line utility designed to list directory contents within terminal environments. It functions as a replacement for standard directory listing commands, providing enhanced visual metadata for files and folders on Unix-like systems. The tool distinguishes itself by integrating color-coded output and file-type icons directly into the terminal interface to improve readability. It utilizes a lookup system to assign these visual identifiers based on file names and extensions, while employing ANSI escape sequences to render the information. The utility supports recursive dir
Clack is a Node.js CLI framework and prompt library designed for building stylized, interactive command-line user interfaces. It provides a toolkit for creating terminal applications that collect structured user input and display formatted information. The library includes a set of interactive terminal UI components, such as validated input fields for text and passwords, searchable selection menus with autocomplete, and grouped options for user choice. It also provides mechanisms for process visualization, including loading spinners, progress bars, and sequential task lists to communicate bac
This project is a cross-platform shell prompt engine designed to render dynamic, themeable command line interfaces. It functions as a modular system that replaces the native shell prompt with a highly customizable, icon-rich display, allowing users to inject real-time system status, environment context, and visual design elements directly into their terminal workspace. The engine distinguishes itself through a declarative configuration schema that enables users to define prompt layouts, color palettes, and functional behaviors across different operating systems and shell environments. By util
Chafa is a terminal graphics library that converts images and animated GIFs into character art for display in terminal emulators. It supports multiple output formats including ANSI escape sequences, Sixel graphics, and Unicode block characters, making it a versatile tool for rendering images directly within the terminal environment. The library is built as a shared C library with official bindings for Python and JavaScript, allowing developers to integrate terminal image rendering capabilities into applications across different programming environments. Chafa handles the full pipeline from im
Vifm is a file manager with curses interface, which provides Vim-like environment for managing objects within file systems, extended with some useful ideas from mutt.
lsix is a command line image viewer and renderer that displays image files as a grid of thumbnails directly within a terminal emulator using Sixel graphics. It functions as a visual file browser and montage tool, converting bitmaps and vector formats into Sixel-encoded graphics for shell-based display. The tool extracts individual frames from multi-frame animated files to display them as a grid of static thumbnails. It also converts non-raster formats, such as SVG and PDF, into viewable bitmap previews. To ensure visual consistency, the utility queries the terminal for active foreground and
no-more-secrets is a command line tool and functional library designed to render cinematic text decryption sequences in the terminal. It uses an ANSI escape sequence renderer to create visual effects where characters shift and reveal original text, simulating high-tech data decryption. The project includes a cross-terminal compatibility layer to ensure these animations render in environments that lack native ANSI escape sequence support. Users can customize the visual style of the decryption effect, including colors and masking options. Beyond the standalone tool, the project provides an emb
lolcat is a command line text processor and color filter that transforms standard text streams into rainbow gradients. It functions as a terminal text colorizer that modifies the visual presentation of shell output using ANSI escape codes. The tool processes text passed through Unix pipes to apply rainbow gradients and color highlights. It uses these visual effects to customize terminal output and differentiate blocks of text within a command line interface.
Bashtop is a terminal-based system monitor and resource dashboard for Unix systems, including Linux, macOS, and FreeBSD. It provides a text-user interface for tracking real-time hardware performance and managing system processes. The tool functions as a hardware dashboard that visualizes processor, memory, disk, and network usage. It includes process management capabilities that allow users to filter, sort, and terminate active system tasks directly from the command line. Users can customize the visual appearance and behavior of the monitor through integrated menus or local configuration fil
Presenterm is a CLI presentation framework and tool used to create interactive slide decks directly in the terminal. It functions as a Markdown slide renderer, transforming Markdown files into formatted terminal presentations with support for synchronized speaker notes and custom YAML themes. The project distinguishes itself through a built-in terminal code executor that runs code snippets live during a presentation, replacing source blocks with real-time output. It also features a terminal image renderer capable of displaying local images, animated GIFs, and pre-rendered diagrams or mathemat
blessed-contrib is a terminal user interface framework and a Node.js console widget library designed for building data-driven command line interfaces. It serves as an ASCII data visualization toolkit and a dashboard framework for organizing grid-based layouts and interactive elements within a console. The project provides a collection of reusable terminal components, including a command line image renderer and tools for text-based graphic rendering. It specifically enables the creation of terminal dashboards through a system for positioning multiple widgets across rows and columns and a mecha
Asterinas is a memory-safe operating system kernel designed to prevent data races and memory corruption. It functions as a Linux-ABI compatible kernel, enabling the execution of existing Linux binaries and container workloads while providing a declarative operating system distribution model. The project distinguishes itself by acting as a virtual machine container host and a confidential computing guest OS, allowing it to run within hardware-isolated Trusted Execution Environments such as Intel TDX. It implements a minimal trusted computing base by isolating unsafe low-level operations and se
Webmin is a web-based administration interface for Unix systems. It provides a centralized console for managing the full range of server administration tasks — users and groups, software packages, storage, network configuration, system services, and security — all through a browser. Its modular architecture allows separate modules to handle databases (MySQL, MariaDB, PostgreSQL), web servers (Apache), DNS (BIND), email (Sendmail, Dovecot), file sharing (Samba, NFS), and more, with a unified access control system that restricts what each administrator can see and do. What sets Webmin apart is
This project is a terminal user interface library for Node.js, designed to facilitate the construction of interactive command-line applications. It provides a comprehensive toolkit of high-level widgets that abstract complex terminal escape codes and rendering logic, allowing developers to build functional interfaces using reusable components. The framework distinguishes itself by implementing a box-model-based layout engine and a virtual DOM-style reconciliation system. These mechanisms enable responsive design patterns—such as percentage-based sizing and relative positioning—to function wit
This project serves as a curated directory of resources, tools, and frameworks designed to enhance the functionality and aesthetics of terminal environments. It functions as a comprehensive guide for users seeking to optimize their command-line workflows and personalize their shell experience. The repository provides access to a wide range of utilities for terminal customization, including alternative terminal emulators, color schemes, and visual themes. It also catalogs specialized tools for managing persistent sessions, automating system tasks, and integrating external web services directly