JavaScript color conversion and manipulation functions


chromath provides provides many color conversion and manipulation functions.

You can:

  • Create a color from just about any reasonable string
  • Convert from one color space to another (rgb->hex, hsv->hsl, rgb->hex->hsl->rgb)
  • Add two colors (using additive or subtractive color)
  • Get a color scheme (complement, split complement, triad, tetrad, etc) based on a color
  • Lots more. Take a look at the docs

In the browser:

<script src="/path/to/chromath.js"></script>

In NodeJS:

npm install chromath


var Chromath = require('chromath')

From there, the usage is identical in both environments.

You can use chromath in a functional or object-oriented manner.

var red = new Chromath('rgb(255, 0, 0)');
red.towards('yellow', 0.5).toString(); // #FF7F00

is the same as

Chromath.towards('red', 'yellow', 0.5).toString(); // #FF7F00

The only difference between instance methods and Class methods with the same name (e.g, Chromath.tint and tint) is that the instance methods pass the instance value as the first argument.

Here's the definition of Chromath.prototype.tint:

tint: function (by) {
    return Chromath.tint(this, by);

In NodeJS you can only pull in the portions you're interesed in, e.g:

> var fromRGBToHex = require('chromath').rgb2hex
> fromRGBToHex(234, 56, 78)