Back to

Package ansi

Latest Go to latest

The latest major version is .

Published: Feb 6, 2017 | License: MIT | Module:


Package ansi is a small, fast library to create ANSI colored strings and codes.


# this installs the color viewer and the package
go get -u


// colorize a string, SLOW
msg := ansi.Color("foo", "red+b:white")

// create a closure to avoid recalculating ANSI code compilation
phosphorize := ansi.ColorFunc("green+h:black")
msg = phosphorize("Bring back the 80s!")
msg2 := phospohorize("Look, I'm a CRT!")

// cache escape codes and build strings manually
lime := ansi.ColorCode("green+h:black")
reset := ansi.ColorCode("reset")

fmt.Println(lime, "Bring back the 80s!", reset)

Other examples

Color(s, "red")            // red
Color(s, "red+b")          // red bold
Color(s, "red+B")          // red blinking
Color(s, "red+u")          // red underline
Color(s, "red+bh")         // red bold bright
Color(s, "red:white")      // red on white
Color(s, "red+b:white+h")  // red bold on white bright
Color(s, "red+B:white+h")  // red blink on white bright

To view color combinations, from terminal


Style format





b = bold foreground
B = Blink foreground
u = underline foreground
h = high intensity (bright) foreground, background
i = inverse

Wikipedia ANSI escape codes [Colors](



const (

	// Reset is the ANSI reset escape sequence
	Reset = "\033[0m"
	// DefaultBG is the default background
	DefaultBG = "\033[49m"
	// DefaultFG is the default foreground
	DefaultFG = "\033[39m"


var Black string

Black FG

var Blue string

Blue FG

var (

	// Colors maps common color names to their ANSI color code.
	Colors = map[string]int{
		"black":   black,
		"red":     red,
		"green":   green,
		"yellow":  yellow,
		"blue":    blue,
		"magenta": magenta,
		"cyan":    cyan,
		"white":   white,
		"default": defaultt,
var Cyan string

Cyan FG

var Green string

Green FG

var LightBlack string

LightBlack FG

var LightBlue string

LightBlue FG

var LightCyan string

LightCyan FG

var LightGreen string

LightGreen FG

var LightMagenta string

LightMagenta FG

var LightRed string

LightRed FG

var LightWhite string

LightWhite FG

var LightYellow string

LightYellow FG

var Magenta string

Magenta FG

var Red string

Red FG

var White string

White FG

var Yellow string

Yellow FG

func Color

func Color(s, style string) string

Color colors a string based on the ANSI color code for style.

func ColorCode

func ColorCode(style string) string

ColorCode returns the ANSI color color code for style.

func ColorFunc

func ColorFunc(style string) func(string) string

ColorFunc creates a closure to avoid computation ANSI color code.

func DisableColors

func DisableColors(disable bool)

DisableColors disables ANSI color codes. The default is false (colors are on).

func PrintStyles

func PrintStyles()

PrintStyles prints all style combinations to the terminal.

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier