A .NET library for creating beautiful, cross-platform console applications with rich text, tables, grids, and panels.
Spectre.Console is a .NET library that enables developers to create beautiful and functional console applications with rich text styling, tables, grids, and panels. It solves the problem of building visually appealing command-line interfaces that work across different platforms by providing a comprehensive set of tools for terminal UI development.
.NET developers building command-line tools, utilities, or applications that require rich terminal interfaces, such as DevOps scripts, data visualization tools, or interactive CLI programs.
Developers choose Spectre.Console for its ease of use, cross-platform compatibility, and rich feature set inspired by Python's Rich library, allowing them to create professional console applications without dealing with low-level terminal complexities.
A .NET library that makes it easier to create beautiful console applications.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Inspired by Python's Rich library, it supports a markup language for bold, italic, underline, and other SGR parameters, making console output visually appealing without manual formatting.
Automatically detects terminal capabilities and downgrades 3/4/8/24-bit colors as needed, ensuring consistent appearance across Linux, macOS, and Windows environments.
Provides tables, grids, and panels for structured data display, enabling developers to create complex console layouts easily, as shown in the example repository.
Designed with testability in mind, allowing reliable unit testing of console applications, which is emphasized in the README as a key feature.
Depends on SixLabors.ImageSharp with a split license (Apache 2.0 when distributed, but other usage under Six Labors Split License), which can complicate distribution in some commercial projects.
Limited to terminal applications, so it's not suitable for GUI, web, or mobile projects, restricting its utility to a narrow range of use cases.
Adds external dependencies, which might be overkill for very simple console tools that could use basic System.Console methods with less overhead.