node package manager



Chroma.js is a tiny JavaScript library (12kB) for all kinds of color conversions and color scales.

Build Status


Initiate and manipulate colors:

chroma('#D4F880').darken().hex();  // #9BC04B 

Working with color scales is easy, too:

scale = chroma.scale(['white', 'red']);
scale(0.5).hex(); // #FF7F7F 

Lab/Lch interpolation looks better than RGB

chroma.scale(['white', 'red']).mode('lab');

Custom domains! Quantiles! Color Brewer!!

chroma.scale('RdYlBu').domain(myValues, 7, 'quantiles');

And why not use logarithmic color scales once in your life?

chroma.scale(['lightyellow', 'navy']).domain([1, 100000], 7, 'log');

Like it?

Please check the most current documentation here:

or here, for the interactive version:

Why not dive into the interactive API docs (there's a static version, too) and download chroma.min.js right away.

You can use it in node.js, too!

npm install chroma-js

Build instructions

To compile the coffee-script source files you have to run (might have to ``npm install` first)


To run the tests simply run

npm test

Similar Libraries / Prior Art


Chroma.js is written by Gregor Aisch.


Released under BSD license. Versions prior to 0.4 were released under GPL.

Known issues

  • HSI color conversion is experimental and produces weird results sometimes

Further reading