color-space
Conversions across 221 color spaces, tested against cited sources: CSS strings, gamut, LUTs
Installation
Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).
color-spaceclaude mcp add color-space -- npx -y color-space@3.5.0 mcp
{
"mcpServers": {
"color-space": {
"command": "npx",
"args": [
"-y",
"color-space@3.5.0",
"mcp"
]
}
}
}
Documentation
Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.
color-space
Open collection of color spaces.
- Formulas tested against cited sources
- Conventional ranges
- JS with TypeScript types / WASM / GLSL / LUT / ICC / OCIO
Use
import space from 'color-space';
space.rgb.oklch(255, 128, 0); // → [0.732, 0.186, 53] — modern CSS
space.slog3.rec2020(0.5, 0.5, 0.5); // camera log → UHD wide gamut
space.rgb.xyz(300, -10, 0); // → [59.7, 30.6, 2.8] — out-of-range in, unclamped out
// batch
space.rgb.oklch([255, 128, 0, 0, 255, 128]); // [0.732, 0.186, 53, 0.875, 0.234, 151]
// meta
space.lab.range; // [[0, 100], [-125, 125], [-125, 125]]
Individual spaces:
import oklch from 'color-space/oklch.js';
oklch.rgb(0.65, 0.25, 180); // matches CSS oklch(0.65 0.25 180)
Imports
color-space– All 221 interconnected spaces. 70 kB gzipcolor-space/<name>.js– One standalone spacecolor-space/lite– 54-space working set. 29 kB gzipcolor-space/wasm– lite set as WASM, bare.wasmincludedcolor-space/gl– GLSL/WGSL shader sourcecolor-space/gl/hlsl·color-space/gl/msl– HLSL (DirectX, Unity, Unreal) and Metal, written by naga from the WGSL.await hlsl('rgb', 'oklch'). needs the optional peernaga-wasm(it declares Node ≥ 24.12; CI runs it on 22, where npm only warns)color-space/lut–.cubeLUTs for Resolve, Premiere, OBS, ffmpeg — verified vs ACEScolor-space/icc– Matrix + TRC or CLUT profilescolor-space/ocio– OpenColorIO colorspaces for Blender, Nuke, Resolve, Houdini:colorspace(space.sgamut3cine), curve and matrix from native transforms, 55 spaces, each checked against the library to 1e-6color-space/util–parse,formatCSS colors,mix,gamut,visible,deltaE,contrast(WCAG),cvd(color-vision simulation),deltaE('rgb', [255, 0, 0], [250, 0, 0])color-space/data.json– Channels, ranges, provenance, references, graph, gamutscolor-space/conformance.json– Cited reference conversions, each with its source, to test any color library againstnpx color-space rgb oklch 255 128 0– CLI, no install:convert(default),cube,icc,space,spaces,mcp(MCP server for agents)
Agents
MCP tools – convert, gamut, css, space, spaces, cube, shader, icc, code – so agents call verified math instead of guessing it. A color goes in as any CSS string ('#ff8000', 'oklch(0.7 0.1 50)', 'rebeccapurple') or as channel values; shader writes the conversion as GLSL, WGSL, HLSL or MSL, code gives the JS call and its verified colour-science equivalent.
claude mcp add color-space -- npx -y color-space mcp # Claude Code
code --add-mcp '{"name":"color-space","command":"npx","args":["-y","color-space","mcp"]}' # VS Code
Claude Desktop claude_desktop_config.json, any project .mcp.json:
{ "mcpServers": { "color-space": { "command": "npx", "args": ["-y", "color-space", "mcp"] } } }
Claude Code plugin (the server plus a skill): /plugin marketplace add colorjs/color-space, then /plugin install color-space@color-space. Docker: docker build -t color-space-mcp . and run it with docker run -i --rm color-space-mcp.
Over HTTP (Streamable HTTP, stateless): npx -y color-space mcp --http 8787 on localhost, or host fetch from color-space/mcp.js in a Worker, Deno or Bun. Skill for agents that load skills: plugins/claude/skills/color-space.
Spaces
Display & web
sRGB · Display P3 · Rec. 2020 · Linear-light sRGB · Rec. 709 · Rec. 709 display · sRGB 2.2 display · ProPhoto RGB · Adobe RGB (1998) · DCI-P3 · Linear Display P3 · Linear Rec. 2020 · Rec. 2020 display · Linear Adobe RGB (1998) · Linear ProPhoto RGB · scRGB · RIMM RGB · CIE RGB · NTSC RGB (1953) · PAL / SECAM RGB · Apple RGB · SMPTE-240M · ECI RGB v2 · Adobe Wide Gamut RGB · ColorMatch RGB · Bruce RGB · Beta RGB · Best RGB · Don RGB 4 · Ekta Space PS 5 · Russell RGB · Prismatic
Cylindrical
HSL · HSV / HSB · HWB · HSI · IHLS · HCG · HCL · HSP · HCY · Cubehelix · HSM
Perceptual
OKLCH · CIELAB · CAM16 · OKLab · HCT · Okhsl · Okhsv · Okhwb · OKLrAB · OKLrCH · SRLAB2 · proLab · sUCS · IgPgTg · HelmGen · HelmGen LCh · Helmlab MetricSpace · Jzazbz · JzCzHz · IPT · IPT Ragoo 2021 · Izazbz · hdr-IPT · IaPbP · CIELChab · CIELUV · HSLuv · CIELChuv · CIELAB D65 · CIELCh D65 · Msh · HPLuv · DIN99 · DIN99o Lab · DIN99o LCh · DIN99c · DIN99d · Log-compressed OSA-UCS · Hunter Lab · Hunter Rd,a,b · CIE 1960 UCS · CIE 1964 UVW · Adams–Nickerson Lab · hdr-CIELAB · CIECAM02 · CIECAM16 · CIECAM97s · CAM16-UCS · ZCAM · CAM02-UCS · CAM16-LCD · CAM16-SCD · CAM02-LCD · CAM02-SCD · Hellwig 2022 · Hellwig 2022 HK · ACES 2.0 JMh · sCAM · Kim 2009 · RLAB · LLAB · Nayatani 95 · Hunt · ATD95 · oRGB
Colorimetry & research
CIE XYZ (D65) · CIE xyY · LMS · CIE XYZ (D50) · CIE 1976 u′v′ · CCT + Duv · Color temperature (Kelvin) · Maxwell triangle · Wavelength · Absolute XYZ D65 · LogLuv · MacLeod–Boynton · DKL · Grayscale · Dominant wavelength / DSH · rg chromaticity · Yrg (Kirk 2019) · XYB · OSA-UCS · TSL · YES · Ohta I₁I₂I₃ · lαβ · YyCxCz · Poirson–Wandell opponent
Video
BT.709 Y′CbCr · ICtCp · ICtCp HLG · IPT-PQ-C2 · BT.2020 Y′CbCr · BT.601 525-line Y′CbCr · BT.601 625-line Y′CbCr · YCbCr (parameterized) · YUV · YIQ · YPbPr · YCgCo · JPEG YCbCr · YDbDr · YcCbcCrc · xvYCC · SMPTE-C · PhotoYCC · Rec. 2100 PQ · Rec. 2100 HLG · Linear Rec. 2100 · ICaCb · Y′D′zD′x
Camera
ACEScg · ARRI LogC3 · ARRI Wide Gamut 3 · ACEScc · Sony S-Log3 · S-Gamut3 · Sony S-Gamut3.Cine · Venice S-Gamut3 · Venice S-Gamut3.Cine · ACES2065-1 · ACEScct · ARRI LogC4 · ARRI Wide Gamut 4 · Cineon · ADX10 · ADX16 · DaVinci Wide Gamut / Intermediate · DaVinci Wide Gamut · Sony S-Log2 · Panasonic V-Log · V-Gamut · RED Log3G10 · REDWideGamutRGB · Canon Log · Canon Log 2 · Canon Log 3 · DCI-P3+ · Fujifilm F-Log · Fujifilm F-Log2 · Fujifilm F-Log2 C · Nikon N-Log · Apple Log · Apple Log 2 · Blackmagic Film Gen 5 · Blackmagic Wide Gamut · DJI D-Log · D-Gamut · FilmLight T-Log / E-Gamut · E-Gamut · Kinefinity KineLOG3 · DCDM X′Y′Z′ · Sony S-Log · ACESproxy · ERIMM RGB · Leica L-Log · GoPro Protune · GoPro GP-Log2 · Insta360 I-Log · Xiaomi Mi-Log · OPPO O-Log · O-Log2 · Samsung Log · REDLog · REDLogFilm · RED Log3G12 · Panalog · ViperLog · Filmic Pro 6
CMYK · Munsell · RYB · CMY · RAL Design · Coloroid · Ostwald
Motivation
A complete collection of color spaces: one minimal API, formulas tested against their sources. While alternatives focus on digital color spaces, this project takes broader perspective, covering historical and cross-disciplinary spaces as well. Side effects: errata in papers, color education, test cases for JS→WASM compilers (porffor, jz).
It is not a color toolbox — gamut mapping, palettes, alpha stay out; the few tools the atlas itself uses (parsing, mixing, ΔE, contrast, color-vision simulation) are color-space/util. Pantone, NCS, RAL Classic, and similar licensed swatch catalogs aren't open and stay out as well.
Contributing
A wrong value or a missing space: open an issue with the document that defines it. How a space is added and checked: CONTRIBUTING.md.
Credits
Thanks to the researchers, theorists, specifiers, implementors and the libraries that helped this one happen.
| Library | Spaces | Ranges | Camera log · CAM · historic | Backends |
|---|---|---|---|---|
| color-space | 221 | Conventional | ✅ | JS · WASM · GLSL/WGSL · LUT · ICC |
| color-space/lite | 54 | Conventional | logs · HDR · CAM16 | JS · 29 kB gzip |
| color-space/wasm | 54 | Conventional | logs · HDR · CAM16 | WASM |
| culori | 30 | 0–1 | ❌ | JS |
| colorjs.io | 51 | 0–1 | some | JS |
| texel/color | ~16 | 0–1 | ❌ | JS |
| chroma-js | 11 | mixed | ❌ | JS |
| d3-color | 6 | mixed | ❌ | JS |
Questions fréquentes
Qu'est-ce que color-space ?
Conversions across 221 color spaces, tested against cited sources: CSS strings, gamut, LUTs
Comment installer color-space ?
Il s'exécute sur votre machine. Dans Claude Code : claude mcp add color-space -- npx -y color-space@3.5.0 mcp. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.
Faut-il une clé API pour color-space ?
Son entrée au registre n'indique aucune clé ni secret obligatoire. Certaines fonctions peuvent tout de même demander un compte auprès du service auquel il se connecte.
color-space est-il open source ?
Oui. Son code est sur GitHub sous licence CC0-1.0.
Qui maintient color-space ?
Il est publié par colorjs. AI.tn le référence sans le maintenir ni le recommander.
Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.