Vom bis zum , vom bis zur , bis . Bereit für CSS, Shader, WASM und LUTs.
Display & Web19
RGB-Farbräume für Bearbeitung und Ausgabe, vom Web-Standard bis zu größeren Display-Farbumfängen.
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
RGB-Varianten9
Regler für Buntton, Sättigung und Helligkeit auf RGB-Basis. Gleiche Schritte sehen nicht unbedingt gleich aus.
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
Wahrnehmungsbasiert48
Koordinaten zum Vergleichen von Farben, zum Bauen von Paletten und zur Vorhersage des Farbeindrucks.
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
Farbmetrik & Forschung22
Die Grundlagen der Messung, das Auge und spezielle Forschungskoordinaten.
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 & Rundfunk20
Trennen Helligkeit von Farbe – für Rundfunk, Kompression und HDR-Auslieferung.
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
Film & Kamera43
Log-Kodierungen von Kameras und Arbeitsfarbräume für Aufnahme und 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
Druck & Malfarbe7
Druckfarbe, Malfarbe und die vermessene Ordnung der Körperfarben.
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
Verwenden
Ein JavaScript-Paket für Farbumrechnungen. Importieren Sie einen einzelnen Farbraum mit weniger als 1.5 kB oder alle Farbräume für Umrechnungen zwischen beliebigen Paaren. Dieselben Umrechnungen verarbeiten ganze Bilder mit WASM, laufen als GLSL oder WGSL in Shadern und lassen sich als LUTs oder ICC-Profile exportieren. Agenten können sie über den MCP-Server aufrufen.
Gegen Referenzen getestetTests für jeden Farbraum
In beide Richtungenjeder Farbraum in jeden anderen
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
Jeder Farbraum als .icc-Profil v2 – Matrix + Tonwertkurve für RGB-Arbeitsfarbräume (Photoshop, Farbmanagement des Betriebssystems), ein CLUT-Gitter für alles andere (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"] } } }
Was ist ein Farbraum?
Ein Koordinatensystem für Farbe: Achsen, Wertebereiche und eine Regel, die die Zahlen an messbares Licht bindet. Dasselbe Orange ist rgb(255 128 0), oklch(0.732 0.186 53) und XYZ [49, 36.7, 4.5] – dieselbe Farbe, dreimal anders geschrieben. Eine Palette ist eine Handvoll ausgewählter Farben; ein Farbraum ist eine Art, überhaupt jede Farbe aufzuschreiben.
Farbmodell oder Farbraum – was ist der Unterschied?
Ein Farbmodell legt fest, mit welchen Komponenten eine Farbe beschrieben wird: drei Primärfarben bei RGB, Buntton, Sättigung und Helligkeit bei HSL, vier Druckfarben bei CMYK. Ein Farbraum bestimmt zusätzlich die Primärvalenzen, den Weißpunkt und die Übertragungskurve. Damit entspricht jeder Satz von Zahlen einer eindeutig messbaren Farbe. Deshalb bezeichnet rgb(255 0 0) in sRGB, Display P3 und Adobe RGB jeweils ein anderes Rot: ein Modell, drei Farbräume.
Im Alltag werden beide als Farbräume bezeichnet, auch in CSS mit color-mix(in hsl, …) und in diesem Katalog. Ein Modell kann einen bestehenden Farbraum als Grundlage verwenden: HSL und HSV basieren hier auf sRGB, wie in CSS.
Welchen Farbraum sollte ich tatsächlich verwenden?
Das hängt von der Aufgabe ab:
Bilder speichern und teilen – sRGB, der Standard im Web;
Paletten und Verläufe gestalten – OKLCH, wo gleiche Schritte gleich aussehen;
Rechnen mit Licht (Überblenden, Weichzeichnen, 3D) – lineares RGB;
Video drehen und graden – der Log-Farbraum Ihrer Kamera, ausgeliefert in Rec. 709 oder Rec. 2100;
messen, wie verschieden zwei Farben aussehen – CIELAB oder DIN99o.
Die Gruppierung des Katalogs nach Zweck ordnet ihn genauso.
Was sollte ich statt HSL verwenden?
OKLCH. Es behält dieselben drei Regler – Buntton, Buntheit, Helligkeit –, aber seine Helligkeit ist verlässlich: In HSL strahlt Gelb bei L=50 etwa 13-mal so viel Licht ab wie Blau bei L=50, gleiches L heißt also nicht gleiche Helligkeit. In OKLCH schon. CSS unterstützt oklch() nativ.
Warum werden meine Verläufe in der Mitte matschig?
Weil sie im gammakodierten sRGB berechnet werden, wo das Mitteln der Zahlen zweier Farben dunkleres, stumpferes Licht ergibt, als es das Mischen ihres Lichts täte. Interpolation in OKLab vermeidet das. Die Zeile interpolate jedes Dossiers zeichnet dieselbe Mischung durch zwei Farbräume nebeneinander, sodass der Unterschied vor der Wahl sichtbar ist.
Was bedeutet „außerhalb des Farbumfangs“?
Eine Farbe, die ein Farbraum beschreiben, ein anderer – oder Ihr Bildschirm – aber nicht zeigen kann. Ein leuchtendes Grün aus Display P3 gibt es in sRGB schlicht nicht: Umgerechnet fallen die Zahlen aus dem gültigen Bereich. Der Atlas macht das sichtbar: Die Plakette neben der aktuellen Farbe nennt den engsten Standard-Farbumfang, der sie enthält, und Strecken außerhalb des Bereichs liegen blass über einem Schachbrett.
Warum sieht der Druck stumpfer aus als der Bildschirm?
Ein Bildschirm strahlt Licht ab; Papier reflektiert, was seine Druckfarben nicht absorbieren. Druckfarbe auf Papier erreicht weniger leuchtende Farben – gesättigte RGB-Blau-, -Grün- und -Rottöne liegen außerhalb –, also werden sie stumpfer gedruckt. Die Druckvorstufe wandelt über ein ICC-Profil für Druckmaschine und Papier um, etwa FOGRA39 für europäisches gestrichenes Papier oder GRACoL in den USA. Das CMYK dieses Katalogs ist die einfache Formel, die CSS für device-cmyk() ohne Profil verwendet – richtig für die Zahlen, kein Proof des Drucks.
Sind die Umrechnungen exakt? Gehen bei Hin- und Rückweg Daten verloren?
Umrechnungen sind geschlossene Formeln, keine Näherungen über Tabellen, und Hin- und Rückwege landen innerhalb des Gleitkommarauschens. Die wenigen Ausnahmen sind dort dokumentiert, wo sie auftreten: OSA-UCS hat keine geschlossene Umkehrung, Atlas-Systeme wie Munsell interpolieren zwischen veröffentlichten Stufen, und die Ausgabe von rgb wird auf den sRGB-Farbumfang begrenzt – den Weg über XYZ oder lineares RGB nehmen, wenn Werte außerhalb gebraucht werden.
Sie sind auch geprüft: Jeder Farbraum verlinkt das Paper oder die Spezifikation, die er umsetzt, Werte werden überall, wo sich beide überschneiden, gegen colorjs.io getestet, die Kamera-Logs gegen die offiziellen ACES-Transformationen der Academy. formula-verification.md hält fest, was wogegen geprüft wurde – einschließlich einiger Stellen, an denen schon die veröffentlichten Paper Fehler enthielten.
Weichen die Zahlen von denen einer anderen Bibliothek ab, die Wertebereiche vergleichen: Diese hier behält die üblichen Bereiche jedes Farbraums – RGB 0–255, Lab-Helligkeit 0–100, Buntton 0–360 –, wo viele alles auf 0–1 abflachen. Jede Karte zeigt ihre Bereiche; im Code stehen sie in space.oklch.range.
Welche davon kann CSS schreiben?
Nativ rgb(), hsl(), hwb(), lab(), lch(), oklab(), oklch(), dazu color() für Display P3, Adobe RGB, ProPhoto, lineares sRGB und XYZ (D65 und D50). CSS-rec2020 ist ein reines Gamma 2.4, nicht die BT.2020-Kurve von Rec. 2020 in diesem Katalog – dieselben Zahlen bezeichnen eine andere Farbe. Der Tab css jedes Dossiers schreibt die aktuelle Farbe kopierfertig aus; Farbräume, die CSS fehlen, gibt es stattdessen als ICC-Profile oder LUTs.
Wo sind Pantone, NCS, RAL?
Das sind lizenzierte Produkte: Ihre Farben sind durch Daten definiert, die die Eigentümer verkaufen, nicht durch veröffentlichte Formeln – es gibt also keine offene Mathematik zum Umsetzen, und ihre Tabellen weiterzugeben wäre nicht legal. Nahe Verwandte mit öffentlicher Mathematik sind hier: Munsell (seine Renotation von 1943 ist öffentlich) und RAL Design (direkt in CIELAB definiert). Die Faustregel: Wurde die Mathematik je veröffentlicht, gehört sie in die Sammlung.
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
Kopiert
Bild ablegen, um seine Farben auf allen Streifen und Ebenen anzuzeigen