Plain color conversion functions

npm install color-convert
141 downloads in the last day
836 downloads in the last week
4 715 downloads in the last month


Color-convert is a color conversion library for JavaScript and node. It converts all ways between rgb, hsl, hsv, cmyk, and CSS keywords:

var converter = require("color-convert")();

converter.rgb(140, 200, 100).hsl()   // [96, 48, 59]

converter.keyword("blue").rgb()      // [0, 0, 255]



For node with npm:

npm install color-convert


Download the latest color-convert.js. All the methods are on the colorConvert object.


Color-convert exports a converter object with getter/setter methods for each color space. It caches conversions:

var converter = require("color-convert")();

converter.rgb(140, 200, 100).hsl()   // [96, 48, 59]

converter.rgb([140, 200, 100])       // args can be an array

Plain functions

Get direct conversion functions with no fancy objects:

require("convert").rgb2hsl([140, 200, 100]);   // [96, 48, 59]


To get the unrounded conversion, append Raw to the function name:

convert.rgb2hslRaw([140, 200, 100]);   // [95.99999999999999, 47.619047619047606, 58.82352941176471]


There's also a hash of the conversion functions keyed first by the "from" color space, then by the "to" color space:

convert["hsl"]["hsv"]([160, 0, 20]) == convert.hsl2hsv([160, 0, 20])

Other spaces

There are some conversions from rgb (sRGB) to XYZ and LAB too, available as rgb2xyz(), rgb2lab(), xyz2rgb(), and xyz2lab().


Please fork, add conversions, figure out color profile stuff for XYZ, LAB, etc. This is meant to be a basic library that can be used by other libraries to wrap color calculations in some cool way.

npm loves you