Terminal control for node.js scripts
Switch branches/tags
Nothing to show
Latest commit 3836875 Sep 9, 2015 @mattijs Merge pull request #6 from OwensCode/master
Replace deprecated util.print calls
Failed to load latest commit information.
README.md Updated terminal.js and added examples to README Jan 22, 2011
index.js Updated index Mar 28, 2012
package.json Version bump (v0.1.1) Jun 30, 2012
terminal.js Replace deprecated util.print calls Mar 26, 2015



Terminal is a small package that can be used with node.js to control terminal output. The package can move the cursor in the terminal and output colored text. It can colorize a message with a simple straightforward markup syntax.


Some examples from the examples directory.


Control colored output. See also examples/colors.js. Colors may vary depending on the terminal settings.

Simple color changing:


This will output Unicorn in magenta (or purple). To change the background color to magenta:

terminal.color('magenta', 'background').write('Unicorn');

Color formatting

Terminal supports formatting strings with colors using a simple syntax. Outputting Unicorn in magenta (like the example above) would look like this:


// And changing the background color to magenta

Using this syntax we can create Rainbows easily in one line:


// Or with background colors
terminal.colorize('%w%1  R  %2  A  %3  I  %4  N  %5  B  %6  O  %7  W  %n ');

The colorize function accepts the following modifiers:

                  text      text            background
      %k %K %0    black     dark grey       black
      %r %R %1    red       bold red        red
      %g %G %2    green     bold green      green
      %y %Y %3    yellow    bold yellow     yellow
      %b %B %4    blue      bold blue       blue
      %m %M %5    magenta   bold magenta    magenta
      %p %P       magenta (think: purple)
      %c %C %6    cyan      bold cyan       cyan
      %w %W %7    white     bold white      white

      %F     Blinking, Flashing
      %U     Underline
      %8     Reverse
      %_,%9  Bold

      %n,%N  Resets the color
      %%     A single %

Colored ouput can be reset with the reset function:

terminal.color('red').write('This is red,').reset().write(' and this is not');


Terminal is licensed under The MIT License