node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



Chroma.js is a tiny JavaScript library (14kB) 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?

Why not dive into the interactive documentation (there's a static version, too). You can download chroma.min.js or use the hosted version on

You can use it in node.js, too!

npm install chroma-js

Or you can use it in SASS using chromatic-sass!

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

And to update the documentation (thanks!), just do

npm install --global markdown-to-html http-server
cd docs/
make && make preview

Similar Libraries / Prior Art


Chroma.js is written by Gregor Aisch.


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

Further reading


There have been no commits in X weeks. Is chroma.js dead?

No! It's just that the author of this library has other things to do than devoting every week of his life to making cosmetic changes to a piece of software that is working just fine as it is, just so that people like you don't feel like it's abandoned and left alone in this world to die. Bugs will be fixed. Some new things will come at some point. Patience.