Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Command-Line Apps
  3. lsd

lsd

Apache-2.0Rustv1.2.0

A modern, feature-rich rewrite of the GNU ls command with icons, colors, and tree view.

GitHubGitHub
16.1k stars499 forks0 contributors

What is lsd?

LSD (LSDeluxe) is a modern, feature-rich command-line file listing tool that reimagines the classic GNU `ls`. It enhances directory listings with visual improvements like icons, color coding, and tree views while maintaining compatibility with standard `ls` options and commands. It solves the problem of plain, monochrome terminal listings by providing a more informative and visually appealing way to browse files and directories.

Target Audience

System administrators, developers, and power users who frequently work in the terminal and want a more visually informative file listing experience without sacrificing the familiarity of `ls`. It is particularly suited for users who have patched fonts (like Nerd Fonts) installed and want to leverage icons in their terminal workflow.

Value Proposition

Developers choose LSD over standard `ls` or other alternatives for its extensive visual enhancements, including built-in icon support, syntax highlighting, and tree views, all while remaining a drop-in replacement that understands standard `ls` flags. Its unique selling point is combining the power and compatibility of GNU `ls` with modern, user-friendly features like YAML-based configuration for icons, colors, and behavior.

Overview

The next gen ls command

Use Cases

Best For

  • Users seeking a visually enhanced, drop-in replacement for the GNU `ls` command with full flag compatibility.
  • Terminal users who want to display file type icons using patched fonts like Nerd Fonts or Font Awesome in their directory listings.
  • System administrators or developers who need a hierarchical tree view of directories for better visualization of complex folder structures.
  • Power users looking to extensively customize their terminal's file listing output through YAML configuration files for icons, colors, and formatting.
  • Cross-platform developers who need a consistent, modern file listing tool that works on Linux, macOS, Windows, and other Unix-like systems.
  • Users transitioning from projects like `colorls` who want a similar feature set in a tool explicitly designed as a modern `ls` rewrite.

Not Ideal For

  • Scripts or automated pipelines that parse `ls` output with plain text expectations, as LSD's color codes and icons can interfere with text processing.
  • Users on minimal or legacy terminal environments without Unicode or color support, where LSD's visual features will fail to render properly.
  • Teams with strict accessibility or consistency policies requiring monochromatic, icon-free terminal outputs for all users.

Pros & Cons

Pros

Rich Visual Enhancements

LSD adds syntax highlighting and file type icons using patched fonts, making directory listings more informative at a glance, as demonstrated by the colorful sample output in the README.

Drop-in ls Compatibility

It understands standard `ls` flags and can be aliased directly, allowing seamless replacement without learning new commands, as shown in the shell configuration examples.

Extensive Customization via YAML

Users can tailor icons, colors, and behavior through YAML configuration files, with sample files provided in the documentation folder for easy tweaking.

Broad Cross-Platform Support

LSD is packaged for Linux, macOS, Windows, and other Unix-like systems, with installation commands listed for numerous package managers in the README table.

Cons

Font Setup Complexity

Icon display requires patched fonts like Nerd Fonts, and the README includes extensive troubleshooting for icon issues, indicating a non-trivial setup that can break in many terminals.

Terminal Compatibility Issues

Known problems with terminals like Konsole (first character trimming) and PuTTY (icon rendering) require workarounds or configuration changes, as admitted in the F.A.Q. section.

Configuration Overhead

While customizable, managing multiple YAML files for icons, colors, and config adds complexity compared to simpler tools, and the documentation warns about testing changes before committing.

Frequently Asked Questions

Quick Stats

Stars16,055
Forks499
Contributors0
Open Issues161
Last commit5 days ago
CreatedSince 2018

Tags

#hacktoberfest#ls#productivity#file-manager#icons#terminal#command-line-tool#color#tree-view#cli#cross-platform#color-schemes#rust#nerd-fonts

Built With

R
Rust

Included in

Shell36.8kCommand-Line Apps19.2k
Auto-fetched 22 hours ago

Related Projects

BatBat

A cat(1) clone with wings.

Stars59,264
Forks1,575
Last commit7 days ago
btopbtop

A monitor of resources

Stars32,709
Forks1,047
Last commit2 days ago
exaexa

A modern replacement for ‘ls’.

Stars24,430
Forks656
Last commit1 year ago
ezaeza

A modern alternative to ls

Stars22,198
Forks448
Last commit8 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub