It converts all ways between
hex strings, and CSS
keywords (will round to closest):
var convert = ;convertrgb; // [96, 48, 59]convertkeyword; // [0, 0, 255]var rgbChannels = convertrgbchannels; // 3var cmykChannels = convertcmykchannels; // 4var ansiChannels = convertansi16channels; // 1
npm install color-convert
Simply get the property of the from and to conversion that you're looking for.
All functions have a rounded and unrounded variant. By default, return values are rounded. To get the unrounded (raw) results, simply tack on
.raw to the function.
All "from" functions have a hidden property called
.channels that indicates the number of channels the function expects (not including alpha).
var convert = ;// Hex to LABconverthex; // [ 76, 21, -2 ]converthexlab; // [ 75.56213190997677, 20.653827952644754, -2.290532499330533 ]// RGB to CMYKconvertrgb; // [ 35, 0, 98, 0 ]convertrgbcmyk; // [ 34.509803921568626, 0, 98.43137254901961, 0 ]
All functions that accept multiple arguments also support passing an array.
Note that this does not apply to functions that convert from a color that only requires one value (e.g.
var convert = ;convertrgb; // '7B2D43'convertrgb; // '7B2D43'
Conversions that don't have an explicitly defined conversion, but can be converted by means of sub-conversions (e.g. XYZ -> RGB -> CMYK), are automatically routed together. This allows just about any color model supported by
color-convert to be converted to any other model, so long as a sub-conversion path exists. This is also true for conversions requiring more than one step in between (e.g. LCH -> LAB -> XYZ -> RGB -> Hex).
Keep in mind that extensive conversions may result in a loss of precision, and exist only to be complete. For a list of "direct" (single-step) conversions, see index.js.