---
title: "Colorful.Console - Muhammad Rehan Saeed"
description: "Colorful.Console is a C# library that wraps around the System.Console class, making your console apps more colourful. Write ASCII art using Figlet fonts."
canonical_url: "https://rehansaeed.com/colorful-console/"
last_updated: "2016-02-14T00:00:00+00:00"
meta:
  author: "Muhammad Rehan Saeed"
  keywords: ".NET,ASCII,C#,Colorful.Console,Console,DNVM,Figlet Font,GitHub,NuGet"
  "og:description": "Colorful.Console is a C# library that wraps around the System.Console class, making your console apps more colourful. Write ASCII art using Figlet fonts."
  "og:image": "https://rehansaeed.com/_og/s/o_dd1b70c9cf307436.png"
  "og:image:alt": "Colorful.Console - Muhammad Rehan Saeed"
  "og:image:height": "630"
  "og:image:type": image/png
  "og:image:width": "1200"
  "og:title": Colorful.Console
  "twitter:image": "https://rehansaeed.com/_og/s/o_dd1b70c9cf307436.png"
  "twitter:image:alt": "Colorful.Console - Muhammad Rehan Saeed"
---

> Index of every page on this site: [llms.txt](https://rehansaeed.com/llms.txt)

# [Colorful.Console](https://rehansaeed.com/colorful-console/)

Posted 14 February 2016 - **2 min read**

![Colorful.Console](https://rehansaeed.com/_ipx/f_png&s_2560x1440/images/hero/Colorful.Console-1366x768.png)

I needed to write a console application a while back and was investigating the best way to do this using the available NuGet packages. I'd seen the DNVM command line tool that Microsoft built for ASP.NET Core and really liked it and wanted something similar.

![DNVM](https://rehansaeed.com/_ipx/f_png&s_2560x1462/content-images/posts/2016/colorful-console/images/DNVM.png)

I really like the old school ASCII art title and the use of colour. The .NET Framework does contain an enum called ConsoleColor which contains a very limited set of hard coded colours you can use but it has some major omissions like the colour orange for example.

In my hunt for a C# ASCII art generator, I discovered [patorjk.com](http://patorjk.com) which is great for generating text using various [Figlet](http://www.figlet.org/) fonts. Figlet fonts are basically .flf text files which contain instructions on how each letter in the ASCII character table can be printed out. It turns out these fonts are pretty ancient and there are libraries in every language writing out text using Figlet fonts.

# Colorful.Console Link to this section

I was just about to give up and write my own open source library when I discovered [Colorful.Console](http://colorfulconsole.com/), available on [GitHub](https://github.com/tomakita/Colorful.Console).  Using this library you can very easily write console apps which look like this:

![Colorful.Console Example 1](https://rehansaeed.com/_ipx/f_png&s_2560x680/content-images/posts/2016/colorful-console/images/Colorful.Console.Example-1.png)

Or this:

![Colorful.Console Example 2](https://rehansaeed.com/_ipx/f_png&s_2560x104/content-images/posts/2016/colorful-console/images/Colorful.Console.Example-2.png)

The only thing missing was a method to write ASCII text using Figlet fonts, so I contributed some code to the project to get this done. The output, combined with the fade that Colorful.Console is capable of created a pretty cool effect. Unbelievably this is a couple of lines of code to write!

![Colorful.Console Example 3](https://rehansaeed.com/_ipx/f_png&s_2560x844/content-images/posts/2016/colorful-console/images/Colorful.Console-Example-3.png)

The title image of this post is also generated using Colorful.Console but was a bit more complicated as it transitions through several colours. By default Colorful.Console includes a single Figlet font but there are dozens of others available which you can download and use yourself.  They aren't all included by default because they would bloat the library quite a bit.

# Command Line Parsers Link to this section

Now the only thing missing in my quest was a command line parser which could let me easily create commands, switches and flags so users could use my command line tool. The best tool I found was [Command Line Parser](https://github.com/gsscoder/commandline) available on GitHub. It's a pretty powerful and fully features library that makes writing a command line interface very easy. Unfortunately, its output is pretty ugly and it does not let you customize the 'look and feel' of what is output to the console.

At some point, I'd like to make another contribution to Colorful.Console, so that it offers command line parsing too but take inspiration from several command line parsing libraries to make something that's fully customizable and of course very colourful.

Command line tools have been around for decades, it's a wonder that a NuGet package that does all of these things does not exist yet.

## Web Mentions

[What's this?](https://en.wikipedia.org/wiki/Webmention)

### 0 Linked

### 0 Replies

## GitHub Comments

### 2 Comments

[Comment on GitHub](https://github.com/RehanSaeed/rehansaeed.github.io/issues/64)

[![RehanSaeed](https://avatars.githubusercontent.com/u/2270364?v=4)](https://github.com/RehanSaeed)

### [RehanSaeed](https://github.com/RehanSaeed)

Owner

12 May 2020

[![Athari](https://camo.githubusercontent.com/6c255cfefdd3e5d25c097e061a92c01a3eea571e6c111edd67af7849ce336443/68747470733a2f2f7777772e67726176617461722e636f6d2f6176617461722f39313135383066383666363230383235623465626161643563363830313261313f733d393626643d6d6d26723d67)](https://camo.githubusercontent.com/6c255cfefdd3e5d25c097e061a92c01a3eea571e6c111edd67af7849ce336443/68747470733a2f2f7777772e67726176617461722e636f6d2f6176617461722f39313135383066383666363230383235623465626161643563363830313261313f733d393626643d6d6d26723d67) **Athari** commented on **2018-03-07 08:51:32**

Probably late, but just for your information - I managed to customize formatting of CommandLineParser's help with colors.

See https://www.codeproject.com/Articles/1232721/CsConsoleFormat-Introduction  
 It required just several queries on attributes: https://github.com/Athari/CsConsoleFormat/blob/5cefa756e047bf5c55ff84a0626f89a01d92caa4/Alba.CsConsoleFormat.Sample.ProcessManager/CommandLineOptions.cs

[![RehanSaeed](https://avatars.githubusercontent.com/u/2270364?v=4)](https://github.com/RehanSaeed)

### [RehanSaeed](https://github.com/RehanSaeed)

Owner

12 May 2020

[![Muhammad Rehan Saeed](https://camo.githubusercontent.com/8a07049df41b8a3839a3f4342f09ea8e6e7fa0065667687f04beca2d088a1dca/68747470733a2f2f7777772e67726176617461722e636f6d2f6176617461722f32623266393030653361633066353535316462646537323864336262343935343f733d393626643d6d6d26723d67)](https://camo.githubusercontent.com/8a07049df41b8a3839a3f4342f09ea8e6e7fa0065667687f04beca2d088a1dca/68747470733a2f2f7777772e67726176617461722e636f6d2f6176617461722f32623266393030653361633066353535316462646537323864336262343935343f733d393626643d6d6d26723d67) **[Muhammad Rehan Saeed](https://rehansaeed.com/)** commented on **2018-03-07 09:16:34**

> Probably late, but just for your information - I managed to customize formatting of CommandLineParser's help with colors.
>
> See https://www.codeproject.com/Articles/1232721/CsConsoleFormat-Introduction  
>  It required just several queries on attributes: https://github.com/Athari/CsConsoleFormat/blob/5cefa756e047bf5c55ff84a0626f89a01d92caa4/Alba.CsConsoleFormat.Sample.ProcessManager/CommandLineOptions.cs

Looks cool.

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://rehansaeed.com/#website","@type":"WebSite","description":"Software Developer at Microsoft, YouTuber, Open Source Contributor and Blogger","inLanguage":"en-GB","name":"Muhammad Rehan Saeed","url":"https://rehansaeed.com/","author":{"@id":"https://rehansaeed.com/#identity"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://rehansaeed.com/?search={search_term_string}"},"query-input":"required name=search_term_string"}],"publisher":{"@id":"https://rehansaeed.com/#publisher"}},{"@id":"https://rehansaeed.com/colorful-console/#webpage","@type":"WebPage","dateModified":"2016-02-14T00:00:00+00:00","datePublished":"2016-02-14T00:00:00+00:00","description":"Colorful.Console is a C# library that wraps around the System.Console class, making your console apps more colourful. Write ASCII art using Figlet fonts.","name":"Colorful.Console","url":"https://rehansaeed.com/colorful-console/","breadcrumb":{"@id":"https://rehansaeed.com/colorful-console/#breadcrumb"},"isPartOf":{"@id":"https://rehansaeed.com/#website"},"potentialAction":[{"@type":"ReadAction","target":["https://rehansaeed.com/colorful-console/"]}]},{"@id":"https://rehansaeed.com/#identity","@type":"Person","name":"Muhammad Rehan Saeed","url":"https://rehansaeed.com/about/","image":{"@id":"https://rehansaeed.com/#/schema/image/1"},"sameAs":["https://github.com/RehanSaeed","https://www.linkedin.com/in/muhammad-rehan-saeed","https://stackoverflow.com/users/1212017/muhammad-rehan-saeed","https://www.youtube.com/c/MuhammadRehanSaeed","https://www.twitch.tv/rehansaeeduk"]},{"@id":"https://rehansaeed.com/#publisher","@type":"Organization","logo":"https://rehansaeed.com/images/schema/Publisher-600x60.png","name":"Muhammad Rehan Saeed","url":"https://rehansaeed.com"},{"@id":"https://rehansaeed.com/colorful-console/#article","@type":"Article","dateModified":"2016-02-14T00:00:00+00:00","datePublished":"2016-02-14T00:00:00+00:00","description":"Colorful.Console is a C# library that wraps around the System.Console class, making your console apps more colourful. Write ASCII art using Figlet fonts.","headline":"Colorful.Console","inLanguage":"en-GB","url":"https://rehansaeed.com/colorful-console/","author":{"@id":"https://rehansaeed.com/#identity"},"image":[{"@type":"ImageObject","url":"https://rehansaeed.com/images/hero/Colorful.Console-1366x768.png","caption":"Colorful.Console","width":"1366","height":"768"}],"isPartOf":{"@id":"https://rehansaeed.com/colorful-console/#webpage"},"keywords":[".NET","ASCII","C#","Colorful.Console","Console","DNVM","Figlet Font","GitHub","NuGet"],"mainEntityOfPage":{"@id":"https://rehansaeed.com/colorful-console/#webpage"},"publisher":{"@id":"https://rehansaeed.com/#publisher"}},{"@id":"https://rehansaeed.com/colorful-console/#breadcrumb","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","name":"Blog","item":"https://rehansaeed.com/","position":1},{"@type":"ListItem","name":"Colorful.Console","item":"https://rehansaeed.com/colorful-console/","position":2}]},{"@id":"https://rehansaeed.com/#/schema/image/1","@type":"ImageObject","contentUrl":"https://rehansaeed.com/images/author/Muhammad-Rehan-Saeed/Logo-512x512.png","inLanguage":"en-GB","url":"https://rehansaeed.com/images/author/Muhammad-Rehan-Saeed/Logo-512x512.png"}]}
```

## Sitemap

See the full [sitemap](https://rehansaeed.com/sitemap.md) for all pages.
