Creating Word Art with FIGlet - Spectre Console Series
Spectre Console is a .NET library designed to enhance console applications with rich text, panels, tables, progress bars, and even ASCII word art. Instead of being stuck with plain black-and-white output, you can add color, alignment, and visual structure to the data you display. One of its most eye-catching features is Spectre Console Figlet, which allows you to render large text banners using the classic Figlet font format.
In this article we’re going to take a deeper look at this feature through Tim Corey’s video on "Creating Word Art with Figlet - Spectre Console Series".
Introducing Figlet in Spectre Console
At 0:00, Tim reminds viewers that “Spectre Console allows you to turn your C# console apps into visually appealing, informative applications.” He describes the library as a way to build full-featured command-line tools with panels, tables, progress indicators, and other services instead of manually writing ANSI codes yourself.
At 0:16, he says, “In this lesson, we’re going to create ASCII word art using a system called Figlet.” Figlet has been around for decades as a way of rendering text into banner-style ASCII art using a figlet font file (often with a .flf extension). Spectre Console ships with a built-in Figlet font by default, but it can also load others. The library wraps this capability in a class called FigletText (sometimes referred to as the Spectre Figlet Text object), which you can create as a new instance and then style.
Tim notes at 0:22 that the source code for this example is linked in the video description so viewers can download it and follow along.
First Example: Inline Spectre Console Figlet Text
At 0:38, Tim begins with what he calls “the easy inline way.” This is where you create and render the Spectre Console Figlet Text object in a single statement:
AnsiConsole.Write(
new FigletText("Hello")
.Centered()
.Color(Color.Red)
);AnsiConsole.Write(
new FigletText("Hello")
.Centered()
.Color(Color.Red)
);At 0:46, Tim explains he’s creating a new instance of FigletText with the string parameter "Hello". This parameter is the text to render.
At 0:53, he chains styling methods directly on the object. First .Centered() at 1:00 to justify and align the ASCII banner in the center of the available columns. Then .Color(Color.Red) at 1:02 to apply a specified color — in this case red as an accent color.
When Tim runs this code at 1:12, the console displays a bold, red ASCII “HELLO” in the built-in Figlet font format. It’s a quick way to add a large title or header to your console application.

Second Example: Reusing a FigletText Object
At 1:22, Tim shows a second pattern: instead of creating the Figlet text inline, you create a variable first. This makes it easier to set or store properties, change styles, or reuse the same object.
var figlet = new FigletText("World");
figlet.Centered();
figlet.Color(Color.Red);
AnsiConsole.Write(figlet);var figlet = new FigletText("World");
figlet.Centered();
figlet.Color(Color.Red);
AnsiConsole.Write(figlet);At 1:28, Tim creates the new instance with the string "World". At 1:41, he calls .Centered() to center it. At 1:44, he sets the color again — he jokes “let’s do red because why not?” — and at 1:59 he writes the object to the console with AnsiConsole.Write(figlet);.
When run at 2:04, this displays “WORLD” beneath the previous “HELLO” in big ASCII art. This shows that the function writes two separate blocks because you called Write twice.
Understanding How Write Works with Figlet
Tim pauses at 2:10 to give an important detail about how Spectre Console renders Figlet text. Normally, AnsiConsole.Write doesn’t append a newline like WriteLine does. But with certain renderable objects — like FigletText or a Panel — Spectre Console automatically terminates the block with a newline so it displays correctly.
He explains at 2:20 that the length of the string can also cause wrapping depending on the width of your console window or the font file, but that’s a separate issue from the newline behavior. This is useful context for users building command systems or scripts that write multiple headers, tables, or progress bars: you can’t rely on Write acting exactly like it does for plain strings.
Styling Options: Colors and More
At 2:53, Tim points out that you’re not limited to red as a specified color. You can use green, white, yellow, or any of the library’s supported colors:
figlet.Color(Color.Yellow);figlet.Color(Color.Yellow);He notes at 3:00 that you can also “make it blink” and apply other styles, although he doesn’t go into every option in this short lesson. The key takeaway is that the FigletText object exposes public properties (such as Color) that you can set or switch at runtime.

This shows how easily you can choose different strings and colors to create branded headers, prompts, or data section titles inside your console application.
Figlet Fonts and Files
Although Tim keeps this example simple, the underlying system uses a figlet font format (.flf files) to render each character. Spectre Console includes a default value for the font (called “Standard”), but you can point the FigletText constructor to a different figlet font file to completely change the look of your ASCII art.
This makes it possible to open a path to a custom font, add that to your project, and return an entirely different style of banner. This isn’t shown in Tim’s short video, but it’s part of the same API he’s demonstrating.
Practical Uses in Console Applications
Tim wraps up at 3:12 by reminding viewers that Figlet can be used to create interesting headers for your application. Combined with Spectre Console’s other features — like tables for displaying database data, progress bars for long-running tasks, and panels for grouping information — FigletText can help you build a command system that feels polished.
For example, you might use Figlet text to:
Display a big title or version number at the start of a tool or script.
Show section headers above tables of retrieved data.
Provide an accent color to highlight a warning or success message.
- Separate different actions in a multi-step prompt or service.
Because FigletText is a renderable object, you can store it in a variable, set or change its properties (color, alignment, text string) and then write it out multiple times.
Wrapping Up
The lesson may be quick, but it shows exactly how to use Spectre Console’s Figlet support to add instant style to your console output.
If you want more details, Tim advises visiting the link to the source code and Spectre Console documentation. There you can also download additional Figlet fonts if you want to experiment with different styles.
Key Points from Tim Corey’s Video
Spectre Console Figlet lets you render ASCII banners using a FigletText object.
You can create it inline or as a new instance, set its properties, then write it.
It uses a built-in Figlet font by default but can load custom .flf font files.
.Centered() and .Color(Color.Red) are examples of styles you can apply.
AnsiConsole.Write automatically adds a newline for Figlet text.
- This feature is perfect for headers, titles, or section breaks in console applications.
By following Tim Corey’s video, you can immediately start using Spectre Console’s Figlet support to enhance your own command-line tools. Whether you’re displaying retrieved data, writing prompts, or just adding style to a script, FigletText gives your console a bold, colorful edge with minimal code.
