Skip to content
JavaScript library for all kinds of color manipulations
Branch: master
Clone or download
Latest commit 822c6bd Feb 16, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs fix code block in average docs (resolves #206) Feb 16, 2019
src make sure that hsl2rgb sets alpha channel to 1 (fixes #211) Feb 16, 2019
test make sure that hsl2rgb sets alpha channel to 1 (fixes #211) Feb 16, 2019
.eslintrc.js the journey to es6 begins again Dec 10, 2018
.gitignore added chroma.min to docs/libs Mar 29, 2017
.travis.yml no npm build for now in travis Dec 10, 2018
CHANGELOG.md new version Feb 16, 2019
LICENSE
chroma.js new version Feb 16, 2019
chroma.min.js
index.js added chroma.valid Dec 11, 2018
package-lock.json
package.json
readme.md
rollup.config.js

readme.md

Chroma.js

Chroma.js is a tiny small-ish zero-dependency JavaScript library (13.5kB) for all kinds of color conversions and color scales.

Build Status

Usage

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 cdnjs.com.

You can use it in node.js, too!

npm install chroma-js

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

Build instructions

First clone the repository and install the dev dependencies:

git clone git@github.com:gka/chroma.js.git
cd chroma.js
npm install

Then compile the coffee-script source files to the build files:

npm run build

Don't forget to tests your changes! You will probably also want to add new test to the /test folder in case you added a feature.

npm test

And to update the documentation just run

npm run docs

To preview the docs locally you can use

npm run docs-preview

Similar Libraries / Prior Art

Author

Chroma.js is written by Gregor Aisch.

License

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

Further reading

FAQ

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.

You can’t perform that action at this time.