GitPedia

Go rainbow

Golang Helper for beautiful CLI Applications

From raphamorim·Updated December 2, 2025·View on GitHub·

Extremely inspired by [chalk.js](https://github.com/chalk/chalk) The project is written primarily in Go, distributed under the MIT License license, first published in 2017. Key topics include: cli, colorization, colors, golang, hex.

go-rainbow Build Status

Extremely inspired by chalk.js

go-rainbow allows you to:

  • Iterate modifiers and colors on a String.
  • Use HEX as you wish.
  • Use from Int as you wish.
  • Use RGB as you wish (work in progress).
  • Bring magical Rainbow on a String (work in progress).

Sample

Available animations

NamePreview
rainbowon going...
pulseon going...
glitchon going...
radaron going...
neonrainbow

Summary

  • Install
  • Example
  • Hex
  • FromInt32
  • Iterables
  • Modifiers
    • Bold
    • Dim
    • Italic
    • Underline
    • Reverse
    • Hidden
  • Colors
    • Black
    • Red
    • Green
    • Yellow
    • Blue
    • Magenta
    • Cyan
    • White
    • RedBright
    • GreenBright
    • YellowBright
    • BlueBright
    • MagentaBright
    • CyanBright
    • WhiteBright
  • Background Colors
    • BgBlack
    • BgRed
    • BgGreen
    • BgYellow
    • BgBlue
    • BgMagenta
    • BgCyan
    • BgWhite
    • BgBlackBright
    • BgRedBright
    • BgGreenBright
    • BgYellowBright
    • BgBlueBright
    • BgMagentaBright
    • BgCyanBright
    • BgWhiteBright
  • Animations
    • Neon

Install

bash
go get github.com/raphamorim/go-rainbow

Example

main.go

go
package main import ( "fmt" "github.com/raphamorim/go-rainbow" ) func main() { fmt.Println(rainbow.Bold(rainbow.Hex("#8E44AD", "raphael"))) }

go-main-example

Hex

go
ftm.Printf("%s", rainbow.Hex("#000080", "String from HEX")) // should be index 4 (navy blue)

FromInt32

32-bit unsigned integer equivalent (uint32)

go
fmt.Printf("%s", rainbow.FromInt32(0xCC66FFFF, "String from Int32"))

Modifiers

Usage

go
rainbow.Bold("String in Bold")
  • Bold
  • Dim
  • Italic (Not widely supported)
  • Underline
  • Reverse
  • Hidden
  • Strikethrough (Not widely supported)

Colors

Usage

go
rainbow.Blue("String in Blue")

List

  • Black
  • Red
  • Green
  • Yellow
  • Blue
  • Magenta
  • Cyan
  • White
  • RedBright
  • GreenBright
  • YellowBright
  • BlueBright
  • MagentaBright
  • CyanBright
  • WhiteBright

Soon (send a PR to help us!):

  • Gray

Background Colors

go
rainbow.BgBlue("String in Blue Background")

List

  • BgBlack
  • BgRed
  • BgGreen
  • BgYellow
  • BgBlue
  • BgMagenta
  • BgCyan
  • BgWhite
  • BgBlackBright
  • BgRedBright
  • BgGreenBright
  • BgYellowBright
  • BgBlueBright
  • BgMagentaBright
  • BgCyanBright
  • BgWhiteBright

Iterables

go
abc := Bold(BgYellow(Blue("Bold+BgYellow+Blue"))) xyz := Dim(Underscore("Dim+Underscore"))

Animations

Animations have a different behavior of all methods, they realize the act of print, instead of only returning string.

Neon

code

go
rainbow.Animation("AWESOME NEON ANIMATION", "neon")

sample

rainbow

RGB (working on it)

go
rainbow.RGB(100, 110, 100)

License

The MIT License (MIT) - see LICENSE.md for more details

Contributors

Showing top 5 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from raphamorim/go-rainbow via the GitHub API.Last fetched: 6/27/2026