Skip to content
A .NET ascii/ansi console engine written in C# for MonoGame and XNA. Create your own text roguelike (or other) games!
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
Fonts Aded default IBM and IBM extended fonts Nov 20, 2018
images Update readme Aug 13, 2016
nuget Update for 8.6.0 release Apr 14, 2019
packages Updated references to nuget path as resolved by Visual Studio. Apr 29, 2015
src Start of cell editing for debug console. Jul 17, 2019
.editorconfig Project changes for using SadConsole.Standard only. Jan 21, 2019
.gitignore remove nuget folder Mar 17, 2019 Updated for NuGet release Jun 22, 2019 Moved files around for better structure Feb 27, 2017 new Settings.ResizeMode None added. Mar 9, 2019
SadConsole.sln Moved gorogue integration library to… Mar 17, 2019
test.sln Clean up repo structure. Example games will become own repo. FNA file… Feb 24, 2019

SadConsole Logo

Join us on Reddit Join the chat at GitHub commits


SadConsole is an MonoGame 3.7 and FNA game library that provides an engine to emulate old-school console and command prompt style graphics. One or more textures are used to represent the standard ascii character set. SadConsole allows you to create console instances which can be managed independently of each other. A console is made up of individual cells which can have a foreground, background, character, and a special effect applied to it.

SadConsole targets .NET Standard 2.0


Here are some of the features SadConsole supports.

  • Show any number of consoles
  • Uses PNG graphic fonts supporting more than 256 characters
  • Multiple fonts in your game
  • Draggable console windows within the game
  • Text GUI controls
  • Full keyboard support
  • Full mouse support
  • Read ansi files from the good old DOS days
  • Animation engine
  • Instruction engine

String display and parsing

string pic

GUI library

GUI library pic


scrolling console


SadConsole uses NuGet for its .NET dependencies.

Demo Project

DemoProject shows how to use SadConsole in a multi-platform environment and demonstrates various things you can do with SadConsole.

You can’t perform that action at this time.