Color Spaces
ColorAide aims to support all the color spaces and models currently offered in modern CSS, such as sRGB, Display P3, CIELab, Oklab, etc. We also include a number of color spaces that are not available in CSS.
ColorAide registers a subset of the offered color spaces by default. But additional color spaces can be registered by subclassing the Color
object and then registering any additional required plugins, such as color spaces.
Everything but the Kitchen Sink
It is not generally recommended to register all possible color spaces (and plugins in general). The suggested approach is to cherry pick additional color spaces as needed by simply subclassing Color
and then registering the desired plugins, but if desired coloraide.everything.ColorAll
already includes all plugins and can be imported to get access to every supported plugin.
Default Color Spaces
While ColorAide supports a lot of color spaces, it is rare that a user would ever need every color space implemented by ColorAide available at all times, so to keep the Color object lighter, and color matching logic quicker, the coloraide.Color
object does not register all color spaces by default.
Color Space Map
When registering a plugin, it is important that all required plugins in the conversion path are registered as well. Below we've provided a diagram of all available color spaces and how they translate to one another.
Click any of the color spaces to jump to the related documentation.
flowchart TB
acescc --- acescg ---- xyz-d65
acescct --- acescg
aces2065-1 --- xyz-d65
oklch --- oklab ----- xyz-d65
okhsl --- oklab
okhsv --- oklab
display-p3 --- display-p3-linear --- xyz-d65
a98-rgb --- a98-rgb-linear --- xyz-d65
srgb-linear --- xyz-d65
rec709 --- srgb-linear
srgb --- srgb-linear
cubehelix --- srgb
ryb --- srgb
orgb --- srgb
prismatic --- srgb
hsi --- srgb
cmy --- srgb
cmyk --- srgb
xyb --- srgb
hsl --- srgb
hsv --- srgb
hwb --- hsv
rec2020-linear --- xyz-d65
rec2020 --- rec2020-linear
rec2100-linear --- rec2020-linear
rec2100-pq --- rec2100-linear
rec2100-hlg --- rec2100-linear
prophoto-rgb --- prophoto-rgb-linear --- xyz-d50 ----- xyz-d65
lch --- lab --- xyz-d50
xyz-d65 --- lab-d65 --- lch-d65
xyz-d65 --- cam16-jmh
cam16-jmh --- cam16-ucs
cam16-jmh --- cam16-scd
cam16-jmh --- cam16-lcd
xyz-d65 --- zcam-jmh
xyz-d65 --- hct
xyz-d65 --- jzazbz --- jzczhz
xyz-d65 --- ipt
xyz-d65 --- ictcp
xyz-d65 --- igpgtg
xyz-d65 --- din99o --- lch99o
xyz-d65 --- hunter-lab
xyz-d65 --- rlab
xyz-d65 --- luv --- lchuv
luv --- hsluv
luv --- hpluv
xyz-d65 --- xyy
xyz-d65 --- ucs
xyz-d65(XYZ D65)
xyz-d50(XYZ D50)
rec2020(Rec. 2020)
rec2020-linear(Linear Rec. 2020)
rec2100-pq(Rec. 2100 PQ)
rec2100-hlg(Rec. 2100 HLG)
rec2100-linear(Linear Rec. 2100)
srgb-linear(Linear sRGB)
srgb(sRGB)
rec709(Rec. 709)
hsl(HSL)
hsv(HSV)
hwb(HWB)
display-p3-linear(Linear Display P3)
display-p3(Display P3)
a98-rgb-linear(Linear A98 RGB)
a98-rgb(A98 RGB)
prophoto-rgb-linear(Linear ProPhoto RGB)
prophoto-rgb(ProPhoto RGB)
lab(Lab)
lch(LCh)
lab-d65(Lab D65)
lch-d65(LCh D65)
oklab(Oklab)
oklch(OkLCh)
okhsl(Okhsl)
okhsv(Okhsv)
luv(Luv)
lchuv(LChuv)
hsluv(HSLuv)
hpluv(HPLuv)
din99o(DIN99o)
lch99o(DIN99o LCh)
jzazbz(Jzazbz)
jzczhz(JzCzhz)
ictcp(ICtCp)
orgb(oRGB)
ipt(IPT)
igpgtg(IgPgTg)
hunter-lab(Hunter Lab)
rlab(RLAB)
hsi(HSI)
cmy(CMY)
cmyk(CMYK)
xyy(xyY)
ucs(CIE 1960 UCS)
prismatic(Prismatic)
aces2065-1(ACES2065-1)
acescg(ACEScg)
acescc(ACEScc)
acescct(ACEScct)
cam16-jmh(CAM16 JMh)
cam16-ucs(CAM16 UCS)
cam16-scd(CAM16 SCD)
cam16-lcd(CAM16 LCD)
hct(HCT)
xyb(XYB)
ryb(RYB)
cubehelix(Cubehelix)
zcam-jmh(ZCAM JMh)
click xyz-d65 "./xyz_d65/" _self
click xyz-d50 "./xyz_d50/" _self
click rec2020 "./rec2020/" _self
click rec2020-linear "./rec2020_linear/" _self
click rec2100-pq "./rec2100_pq/" _self
click rec2100-hlg "./rec2100_hlg/" _self
click rec2100-linear "./rec2100_linear/" _self
click srgb-linear "./srgb_linear/" _self
click srgb "./srgb/" _self
click rec709 "./rec709/" _self
click hsl "./hsl/" _self
click hsv "./hsv/" _self
click hwb "./hwb/" _self
click display-p3-linear "./display_p3_linear/" _self
click display-p3 "./display_p3/" _self
click a98-rgb-linear "./a98_rgb_linear/" _self
click a98-rgb "./a98_rgb/" _self
click prophoto-rgb-linear "./prophoto_rgb_linear/" _self
click prophoto-rgb "./prophoto_rgb/" _self
click lab "./lab/" _self
click lch "./lch/" _self
click lab-d65 "./lab_d65/" _self
click lch-d65 "./lch_d65/" _self
click oklab "./oklab/" _self
click oklch "./oklch/" _self
click okhsl "./okhsl/" _self
click okhsv "./okhsv/" _self
click luv "./luv/" _self
click lchuv "./lchuv/" _self
click hsluv "./hsluv/" _self
click hpluv "./hpluv/" _self
click din99o "./din99o/" _self
click lch99o "./lch99o/" _self
click jzazbz "./jzazbz/" _self
click jzczhz "./jzczhz/" _self
click ictcp "./ictcp/" _self
click orgb "./orgb/" _self
click ipt "./ipt/" _self
click igpgtg "./igpgtg/" _self
click hunter-lab "./hunter_lab/" _self
click rlab "./rlab/" _self
click hsi "./hsi/" _self
click cmy "./cmy/" _self
click cmyk "./cmyk/" _self
click xyy "./xyy/" _self
click ucs "./ucs/" _self
click prismatic "./prismatic/" _self
click aces2065-1 "./aces2065_1/" _self
click acescg "./acescg/" _self
click acescc "./acescc/" _self
click acescct "./acescct/" _self
click cam16-jmh "./cam16_jmh/" _self
click cam16-ucs "./cam16_ucs/" _self
click cam16-scd "./cam16_scd/" _self
click cam16-lcd "./cam16_lcd/" _self
click hct "./hct/" _self
click xyb "./xyb/" _self
click ryb "./ryb/" _self
click cubehelix "./cubehelix/" _self
click zcam-jmh "./zcam_jmh/" _self
Supported Color Space IDs
As an easy reference, this table contains all the color space names and their associated IDs that are used to specify a specific color space for conversion or otherwise.
Color Space | ID |
---|---|
A98 RGB | a98-rgb |
Linear A98 RGB | a98-rgb-linear |
ACES 2065-1 | aces2065-1 |
ACEScc | acescc |
ACEScct | acescct |
ACEScg | acescg |
CAM16 JMh | cam16-jmh |
CAM16 LCD | cam16-lcd |
CAM16 SCD | cam16-scd |
CAM16 UCS | cam16-ucs |
CMY | cmy |
CMYK | cmyk |
Cubehelix | cubehelix |
DIN99o | din99o |
Display P3 | display-p3 |
Linear Display P3 | display-p3-linear |
HCT | hct |
HPLuv | hpluv |
HSI | hsi |
HSL | hsl |
HSLuv | hsluv |
HSV | hsv |
Hunter Lab | hunter-lab |
HWB | hwb |
ICtCp | ictcp |
IgPgTg | igpgtg |
IPT | ipt |
Jzazbz | jzazbz |
JzCzhz | jzczhz |
Lab (D50) | lab |
Lab (D65) | lab-d65 |
LCh (D50) | lch |
LCH (D65) | lch-d65 |
DIN99o LCh | lch99o |
Luv LCh | lchuv |
Luv | luv |
Okhsl | okhsl |
Okhsv | okhsv |
Oklab | oklab |
OkLCh | oklch |
oRGB | orgb |
Prismatic | prismatic |
ProPhoto RGB | prophoto-rgb |
Linear ProPhoto RGB | prophoto-rgb-linear |
Rec. 2020 | rec2020 |
Linear Rec. 2020 | rec2020-linear |
Rec. 2100 HLG | rec2100-hlg |
Linear Rec. 2100 | rec2100-linear |
Rec. 2100 PQ | rec2100-pq |
Rec. 709 | rec709 |
RLAB | rlab |
RYB | ryb |
sRGB | srgb |
Linear sRGB | srgb-linear |
UCS | ucs |
XYB | xyb |
xyY | xyy |
XYZ (D50) | xyz-d50 |
XYZ (D65) | xyz-d65 |
ZCAM JMh | zcam-jmh |