Notoriously Problematic Merge

    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/chroma-js package

    2.4.2 • Public • Published


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

    Build Status


    Install from npm

    npm install chroma-js

    Import package into project

    import chroma from "chroma-js";

    Initiate and manipulate colors:

    chroma('#D4F880').darken().hex();  // #a1c550

    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

    First clone the repository and install the dev dependencies:

    git clone
    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


    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.



    npm i chroma-js

    DownloadsWeekly Downloads





    (BSD-3-Clause AND Apache-2.0)

    Unpacked Size

    309 kB

    Total Files


    Last publish


    • gka
    • celtra