Dal alla , dai alla , dal al . Supporto per CSS, shader, WASM e tabelle di conversione del colore (LUT).
Display e web19
Spazi RGB di lavoro e di consegna, dallo standard del web ai gamut più ampi dei display.
HP & Microsoft,1996
RGBApple,2015
RGBITU-R,2012
RGB
HP & Microsoft,1996
RGBITU-R,1990
RGBKodak,1999
RGBAdobe Systems,1998
RGBDCI,2005
RGBApple,2015
RGBITU-R,2012
RGBAdobe Systems,1998
RGBKodak,1999
RGBIEC,2003
RGBKodak,2000
RGBCIE,1931
RGBFCC,1953–87
RGBWalter Bruch / Telefunken,1967
RGBApple Computer,1987–96
RGBSMPTE,1988–90
RGB
Varianti di RGB9
Controlli di tinta, saturazione e luminosità costruiti su RGB. Passi uguali non appaiono per forza uguali.
Joblove & Greenberg,1978
HSLAlvy Ray Smith,1978
HSVAlvy Ray Smith,1996
HWB
John R. Kender,1976
HSIcommunity convention,2011
HCGIan Taylor,2012
HCLDarel Rex Finley,2006
HSPKuzma Shapran,2012
HCYBianconi et al.,2009
HSM
Percettivi48
Coordinate per confrontare colori, costruire palette e prevedere l’aspetto.
Björn Ottosson,2020
LCHCIE,1976
LabLi et al.,2017
JMh
Björn Ottosson,2020
LabGoogle,2021
HCTBjörn Ottosson,2021
HSLBjörn Ottosson,2021
HSVBjörn Ottosson,2021
HWBBjörn Ottosson,2021
LabBjörn Ottosson,2021
LCHJan Behrens,2009
LabKonovalenko et al.,2021
LabLi & Luo,2024
IabHensley & Fairchild,2020
IgPgTgSafdar et al.,2017
JzazbzSafdar et al.,2017
JzCzHzFritz Ebner & Mark Fairchild,1998
IPTSafdar et al.,2017
IzazbzMark Fairchild & Garrett Wyble,2010
IPTCIE,1976
LCHCIE,1976
LUVAlexei Boronine,2012
HSLCIE,1976
LCHCIE,1976
LabCIE,1976
LCHAlexei Boronine,2012
HSLDIN,2018
LabDIN,2018
LCHCui et al.,2002
LabRichard S. Hunter,1948
LabDavid MacAdam / CIE,1960–76
UVWGünther Wyszecki / CIE,1964–76
UVWElliot Q. Adams,1942–76
LabMark Fairchild & Garrett Wyble,2010–16
LabCIE,2002–17
JMhLi et al.,2017
JabSafdar et al.,2021
JMhLuo et al.,2006–17
JabLi et al.,2017
JabLi et al.,2017
JabLuo et al.,2006–17
JabLuo et al.,2006–17
JabLuke Hellwig & Mark Fairchild,2022
JMhMark Fairchild,1996
LabLuo et al.,1996
LABYoshinobu Nayatani,1995
LChRobert W. G. Hunt,1994
JChSherman Lee Guth,1995
ATD
Colorimetria e ricerca22
Le basi della misura, l’occhio e coordinate di ricerca specialistiche.
CIE,1931
XYZCIE,1931
xyYEstévez et al.,1979
LMS
ICC,1994
XYZCIE,1976
uvYYoshi Ohno / ANSI,2014
TDuRaymond Davis; CIE,1931
TJames Clerk Maxwell,1860
xyCIE,1931
wlITU-R,2016
XaYaZaDonald MacLeod & Robert Boynton,1979
lsYDerrington et al.,1984
LuRGYVCIE,1931
YHermann von Helmholtz,1860
dsYJames Clerk Maxwell,1860
rgRichard Kirk,2019
YrgJyrki Alakuijala et al.,2019
XYBOSA committee,1974
LjgTerrillon & Akamatsu,2000
TSLXerox,1989
YESOhta et al.,1980
I1I2I3Ruderman et al.,1998
lαβ
Video e broadcast20
Separano la luminosità dal colore per il broadcast, la compressione e la distribuzione HDR.
ITU-R,1990
YCbCrDolby,2016
ICtCpITU-R,2012
YCbCr
ITU-R,1982
YCbCrITU-R,1982
YCbCrITU-R,1982
YCbCrWalter Bruch / Telefunken,1967
YUVNTSC,1953–82
YIQITU-R,1982
YPbPrMalvar & Sullivan,2003
YCgCoEric Hamilton / C-Cube Microsystems,1992
YCbCrHenri de France,1967
YDbDrITU-R,2012
YcCbCrSony / IEC,2006
YCbCrSMPTE,1987
RGBKodak,1992
YcC1C2Dolby / ITU-R,2016
RGBBBC & NHK / ITU-R,2016
RGBITU-R,2016
RGBJulian Fröhlich,2017
ICaCb
Cinema e camera43
Codifiche log delle camere e spazi di lavoro per catturare la luce e farne il color grading.
Academy,2014
RGBARRI,2010–22
RGBAcademy,2014
RGB
Sony,2014
RGBSony,2014
RGBAcademy,2012
RGBAcademy,2016
RGBARRI,2022
RGBKodak,1992
RGBBlackmagic Design,2020
RGBSony,2012–14
RGBPanasonic,2014
RGBRED Digital Cinema,2017
RGBCanon,2011–15
RGBCanon,2015
RGBCanon,2016
RGBFujifilm,2016
RGBFujifilm,2022
RGBFujifilm,2024
RGBNikon,2018
RGBApple,2023
RGBApple,2025
RGBBlackmagic Design,2020
RGBDJI,2017
RGBFilmLight,2013
RGBKinefinity,2025
RGBSMPTE/DCI,2006
XYZSony,2008–12
RGBAcademy,2013
RGBKodak,2000
RGBLeica,2020
RGBGoPro,2012
RGBGoPro,2026
RGBInsta360,2026
RGBXiaomi,2024
RGBOPPO,2025
RGBSamsung,2025
RGBRED Digital Cinema,2007–08
RGBRED Digital Cinema,2008–17
RGBRED Digital Cinema,2016–17
RGBPanavision / Sony,2005
RGBThomson Grass Valley,2002
RGBFiLMiC Inc.,2017
RGB
Stampa e pittura7
Inchiostro, pittura e l’organizzazione misurata dei colori di superficie.
Eagle Printing Ink Co.,1906
CMYKAlbert H. Munsell,1905
HVCJohannes Itten,1961
RYB
Louis Ducos du Hauron,1868–1906
CMYRAL gGmbH,1993
HLCAntal Nemcsics,1980
ATVWilhelm Ostwald,1917
hWB
Usalo
Un pacchetto JavaScript per convertire i colori. Importa un singolo spazio da meno di 1.5 kB, oppure tutti per le conversioni tra qualsiasi coppia di spazi. Le stesse conversioni elaborano immagini intere con WASM, funzionano negli shader GLSL o WGSL e si possono esportare come tabelle LUT o profili ICC. Gli agenti possono richiamarle tramite il server MCP.
Verificato con valori di riferimentotest per ogni spazio
In entrambe le direzionida qualsiasi spazio a qualsiasi altro
import space from 'color-space'
space.rgb.oklch(255, 128, 0) // → [0.732, 0.186, 53]
space.oklch.rgb(0.65, 0.25, 180) // any of 168 × 167 pairs
space.oklch.name // 'oklch'
space.oklch.range // [[0,1], [0,0.4], [0,360]]// one space only – tree-shaken, 0.4-1.5 kBimport oklch from 'color-space/oklch.js'
oklch.rgb(0.65, 0.25, 180)
// values in the notations CSS already speaks – straight from the library
color: oklch(0.732 0.186 53); // space.rgb.oklch(255, 128, 0)
color: color(display-p3 0.936 0.529 0.199); // space.rgb.p3(255, 128, 0)
color: color(xyz-d65 0.49 0.367 0.045); // space.rgb.xyz(…) / 100 – exact interchange// spaces CSS lacks ship as ICC profiles or LUTs – see those tabs;
// every dossier's css tab writes the current color in copyable forms
// per-space metadata – sourced, ships as data.jsonimport data from 'color-space/data.json' with { type: 'json' }
const m = data.spaces.oklch
m.channels // [{symbol, min, max, name}, …]
m.refs // defining spec / paper links
m.year, m.by // 2020, 'Björn Ottosson'
// scalar or whole-buffer, zero-copy – a true WASM kernelimport space, { alloc } from 'color-space/wasm'
space.oklch.rgb(0.72, 0.16, 41) // → [246, 125, 79]const buf = alloc(n) // n×3 Float64Array
space.rgb.oklch(buf) // in place – 27 spaces
// every pair as a GLSL shader chunkimport { glsl } from 'color-space/gl'
import oklch from 'color-space/gl/oklch'
const src = glsl(oklch, 'rgb')
// → self-contained: vec3 oklch_rgb(vec3 c)// paste into any fragment shader, no uniforms
Qualsiasi spazio come profilo .icc v2: matrice + curva tonale per gli spazi di lavoro RGB (Photoshop, gestione del colore del sistema operativo), un reticolo CLUT per tutto il resto (lcms, ArgyllCMS, ImageMagick).
…
// an MCP server – convert · gamut · css · space · spaces · cube –
// so an agent calls verified conversions instead of guessing them
npx -y color-space mcp
// Claude Code
claude mcp add color-space -- npx -y color-space mcp
// VS Code
code --add-mcp '{"name":"color-space","command":"npx","args":["-y","color-space","mcp"]}'
// Claude Desktop · Cursor · .mcp.json
{ "mcpServers": { "color-space": { "command": "npx", "args": ["-y", "color-space", "mcp"] } } }
Che cos’è uno spazio colore?
Un sistema di coordinate per il colore: assi, intervalli e una regola che lega i numeri a una luce misurabile. Lo stesso arancione è rgb(255 128 0), oklch(0.732 0.186 53) e XYZ [49, 36.7, 4.5]: lo stesso colore, scritto in tre modi. Una palette è una manciata di colori scelti; uno spazio è un modo per scrivere qualsiasi colore.
Modello di colore o spazio colore: qual è la differenza?
Un modello di colore definisce le componenti con cui descrivere un colore: tre primari in RGB, tinta, saturazione e chiarezza in HSL, quattro inchiostri in CMYK. Uno spazio colore specifica inoltre i primari, il punto di bianco e la curva di codifica, così che ogni insieme di valori corrisponda a un colore misurabile. Per questo rgb(255 0 0) indica rossi diversi in sRGB, Display P3 e Adobe RGB: un modello, tre spazi.
Nell’uso comune si chiamano entrambi spazi, anche in color-mix(in hsl, …) di CSS e in questo catalogo. Un modello può basarsi su uno spazio già definito: qui HSL e HSV usano sRGB come riferimento, come in CSS.
Quale spazio dovrei usare davvero?
Dipende dal compito:
archiviare e condividere immagini – sRGB, lo standard del web;
progettare palette e gradienti – OKLCH, dove passi uguali appaiono uguali;
riprendere e fare il color grading di video – lo spazio log della tua camera, consegnato in Rec. 709 o Rec. 2100;
misurare quanto due colori appaiono diversi – CIELAB o DIN99o.
Raggruppare il catalogo per scopo lo ordina allo stesso modo.
Cosa usare al posto di HSL?
OKLCH. Mantiene gli stessi tre controlli – tinta, croma, chiarezza – ma la sua chiarezza è affidabile: in HSL il giallo a L=50 emette circa 13 volte la luce del blu a L=50, quindi L uguale non significa luminosità uguale. In OKLCH sì. CSS supporta oklch() nativamente.
Perché i miei gradienti diventano fangosi al centro?
Perché sono calcolati in sRGB codificato con gamma, dove la media dei numeri di due colori produce una luce più scura e spenta di quella che darebbe mescolare davvero le loro luci. Interpolare in OKLab lo evita. La riga interpolate di ogni dossier disegna la stessa sfumatura attraverso due spazi affiancati, così vedi la differenza prima di scegliere.
Che cosa significa «fuori gamut»?
Un colore che uno spazio può descrivere ma un altro – o il tuo schermo – non può mostrare. Un verde Display P3 acceso semplicemente non esiste in sRGB: convertilo e i numeri escono dall’intervallo valido. L’atlante lo tiene in vista: la pillola accanto al colore corrente indica il gamut standard più stretto che lo contiene, e i tratti fuori intervallo sfumano su una scacchiera.
Perché la stampa sembra più spenta dello schermo?
Uno schermo emette luce; la carta riflette ciò che i suoi inchiostri non assorbono. L’inchiostro su carta raggiunge meno colori accesi – i blu, i verdi e i rossi RGB saturi ne restano fuori – e quindi in stampa risultano più spenti. La prestampa converte attraverso un profilo ICC fatto per quella macchina e quella carta, come FOGRA39 per la carta patinata europea o GRACoL negli Stati Uniti. Il CMYK di questo catalogo è la formula semplice che CSS usa per device-cmyk() senza profilo: giusto per i numeri, non una prova di stampa.
Le conversioni sono esatte? Andata e ritorno perdono dati?
Le conversioni sono formule chiuse, non approssimazioni per tabella, e i viaggi di andata e ritorno tornano al punto di partenza entro il rumore della virgola mobile. Le poche eccezioni sono documentate dove si presentano: OSA-UCS non ha un’inversa in forma chiusa, i sistemi ad atlante come Munsell interpolano tra i gradi pubblicati e l’output rgb viene limitato al gamut sRGB: passa per XYZ o per l’RGB lineare quando ti servono valori fuori da esso.
E sono verificate: ogni spazio rimanda all’articolo o alla specifica che implementa, i valori sono testati contro colorjs.io ovunque i due si sovrappongano e i log delle camere contro le trasformazioni ACES ufficiali dell’Academy. formula-verification.md registra cosa è stato verificato contro cosa, compresi alcuni punti in cui erano gli stessi articoli pubblicati a contenere errori.
Se i numeri differiscono da quelli di un’altra libreria, confronta gli intervalli: questa mantiene gli intervalli convenzionali di ogni spazio – RGB 0–255, chiarezza Lab 0–100, tinta 0–360 – dove molte appiattiscono tutto a 0–1. Ogni scheda mostra i suoi intervalli; nel codice sono space.oklch.range.
Quali di questi può scrivere CSS?
Nativamente rgb(), hsl(), hwb(), lab(), lch(), oklab(), oklch(), più color() per Display P3, Adobe RGB, ProPhoto, sRGB lineare e XYZ (D65 e D50). Il rec2020 di CSS è una gamma pura di 2.4, non la curva BT.2020 del Rec. 2020 di questo catalogo: gli stessi numeri indicherebbero un colore diverso. La scheda css di ogni dossier scrive il colore corrente in forma copiabile; gli spazi che CSS non ha si distribuiscono invece come profili ICC o LUT.
Dove sono Pantone, NCS, RAL?
Sono prodotti su licenza: i loro colori sono definiti da dati che i proprietari vendono, non da formule pubblicate, quindi non c’è una matematica aperta da implementare, e ridistribuirne le tabelle non sarebbe legale. Qui trovi parenti stretti la cui matematica è pubblica: Munsell (la sua rinotazione del 1943 è di pubblico dominio) e RAL Design (definito direttamente in CIELAB). La regola pratica: se la matematica è stata pubblicata, appartiene alla collezione.
BibTeX
@software{Ivanov_color-space_2026,
author = {Ivanov, Dmitry},
license = {CC0-1.0},
month = oct,
title = {{color-space}},
url = {https://github.com/colorjs/color-space},
version = {3.2.0},
year = {2026}
}
APA
Ivanov, D. (2026). color-space (Version 3.2.0) [Computer software]. https://github.com/colorjs/color-space
Copiato
Trascina qui l’immagine per mostrarne i colori su tutte le strisce e i piani