whatisgithub

What is spectre.console?

spectreconsole/spectre.console — explained in plain English

Analysis updated 2026-06-24

11,419C#Audience · developerComplexity · 2/5LicenseSetup · easy

In one sentence

A C# library for .NET that lets developers add formatted tables, colored text, progress bars, and styled panels to command-line apps using a simple markup language, inspired by Python's Rich library.

Mindmap

mindmap
  root((spectre.console))
    What it does
      Terminal UI for dotNET
      Formatted CLI output
    Features
      Styled text
      Tables and grids
      Panels and borders
      Progress bars
    Colors
      4-bit 8-bit 24-bit
      Auto graceful fallback
    Markup
      HTML-like tags
      No escape codes needed
    Setup
      NuGet one command
      Any dotNET project
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Add color-coded tables and progress bars to a C# CLI tool so its output is easier to scan and understand.

USE CASE 2

Replace raw Console.Write calls in a .NET script with styled markup tags that render bold, italic, and colored text.

USE CASE 3

Build a terminal dashboard for an ops tool that shows service status in a formatted panel layout.

What is it built with?

C#.NETNuGet

How does it compare?

spectreconsole/spectre.consoledotnet/benchmarkdotnetmono/mono
Stars11,41911,41311,437
LanguageC#C#C#
Setup difficultyeasyeasyhard
Complexity2/52/55/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min
MIT license, free to use, modify, and distribute for any purpose including commercial use, with no restrictions beyond keeping the copyright notice.

So what is it?

Spectre.Console is a C# library for .NET that helps developers build visually polished command-line applications. Instead of writing plain text output line by line, developers use Spectre.Console to produce formatted tables, panels, grids, styled text, and progress bars, all within a terminal window. The library was inspired by Rich, a popular Python library with a similar purpose. Out of the box, Spectre.Console supports a wide range of text styling options including bold, italic, underline, strikethrough, and blinking text. It handles color output at multiple depths: 4-bit (16 colors), 8-bit (256 colors), and 24-bit (true color). If a terminal does not support a high color depth, the library automatically falls back to a simpler color set, so output degrades gracefully rather than breaking. Layout components include tables with configurable columns and borders, panels for boxing a piece of output, and grids for arranging content side by side. The library also includes a markup language, similar in spirit to HTML, where developers wrap text in tags to apply styles without writing low-level terminal escape codes by hand. Installation is straightforward: one command adds the NuGet package to any .NET project. Full documentation is hosted at spectreconsole.net, and a separate examples repository shows what the library looks like in practice. The project is backed by the .NET Foundation and released under the MIT license. This library is aimed at developers building tools, scripts, or CLI utilities in C# who want output that is easier to read than raw console text. It does not add a graphical interface, the output is still plain terminal text, just with formatting applied. Non-technical users would encounter Spectre.Console indirectly, through tools built on top of it, rather than using it themselves.

Copy-paste prompts

Prompt 1
I have a C# CLI app that prints a plain list of files. Show me how to use Spectre.Console to render it as a formatted table with colored columns.
Prompt 2
I want to show a progress bar in my .NET console app while downloading files. Give me the Spectre.Console code to display a live progress bar with a percentage and ETA.
Prompt 3
Using Spectre.Console markup, how do I print a warning message in bold yellow text and an error in red without writing terminal escape codes by hand?
Prompt 4
How do I use Spectre.Console's Panel component to draw a bordered box around a section of output in my C# CLI tool?

Frequently asked questions

What is spectre.console?

A C# library for .NET that lets developers add formatted tables, colored text, progress bars, and styled panels to command-line apps using a simple markup language, inspired by Python's Rich library.

What language is spectre.console written in?

Mainly C#. The stack also includes C#, .NET, NuGet.

What license does spectre.console use?

MIT license, free to use, modify, and distribute for any purpose including commercial use, with no restrictions beyond keeping the copyright notice.

How hard is spectre.console to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is spectre.console for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.