Color converter — HEX, RGB, HSL & OKLCH
Converteer HEX naar RGB, HSL, OKLCH, OKLAB en CMYK in je browser — kopieer elk formaat met één klik. Gratis, geen account, je kleuren verlaten de pagina nooit.
Kleurenblindheid-simulatie (8 typen)
Tints / Shades / Tones / Harmonies
Tints
Shades
Tones
Harmonies
Copy as code
— — — — — Referentie van gangbare kleuren
Ons team verifieert de kleurconversies tegen de referentievectoren van de W3C CSS Color 4-specificatie, de Ottosson 2020 OKLAB-matrix, en de APCA-W3 referentie-contrasttabel.
Wat is een color converter?
Een color converter is een klein hulpmiddel dat één enkele kleurwaarde vertaalt tussen de formaten die je toolchain, je design system en je browser daadwerkelijk begrijpen — HEX, RGB, HSL, HSV, HWB, CMYK, OKLCH, OKLAB en de 148 CSS named colors. Online converters zijn al een vast onderdeel van webtooling sinds de vroege jaren 2000, toen het antwoord bijna altijd een eenvoudige HEX-naar-RGB-textbox was, gebouwd voor een Geocities-tijdperk-stylesheet. Wat een moderne converter onderscheidt van die oude tools, zijn drie dingen: een unified-field-UX waarin elk formaat tegelijk bewerkbaar is in plaats van een eenrichtings-dropdown, een OKLCH-bron-van-waarheid die de canonieke waarde intern vasthoudt zodat round-trips bit-stabiel blijven, en perceptuele wiskunde verankerd in W3C CSS Color 4 in plaats van de gamma-verstrikte HSL-rekenkunde die de generatie van 2003 shippte.
Verschillende kleurruimtes bestaan omdat verschillende problemen verschillende representaties nodig hebben, en geen enkele ruimte is overal goed in. RGB is hardware-native — hij mapt direct op de rode, groene en blauwe subpixels van een LCD of de fosforen van een CRT, met elke channel gecodeerd als 8-bit integer van 0 tot 255. HEX is gewoon RGB in grondtal-16, gepakt in een string van zes tekens voor compacte CSS- en Figma-copy-paste. HSL, HSV en HWB zijn designer-cognitieve ruimtes — cilindrische hervormingen van RGB waarmee je met intuïtieve sliders kleurtoon kunt draaien, verlichten of verdonkeren. HSL werd in 1978 gepubliceerd naast HSV door Alvy Ray Smith; HWB werd toegevoegd in 1996 als schoner mentaal model (Hue + hoeveelheid Wit + hoeveelheid Zwart). CMYK is een drukproces-abstractie — een subtractieve inktstapel (Cyaan, Magenta, Yellow, Key=zwart) die modelleert hoe inkt licht absorbeert op papier in plaats van hoe een scherm het uitzendt. OKLCH en OKLAB zijn perceptuele ruimtes — ze zijn zo ontworpen dat gelijke numerieke afstand overeenkomt met gelijke waargenomen afstand, waardoor ze onmisbaar zijn voor design-system-ramps en toegankelijkheids-wiskunde. Named colors zijn CSS-legacy: de 148 SVG/CSS3-namen zoals tomato, rebeccapurple en slategray die met elke browser meekomen.
Meer dan twintig jaar was sRGB "goed genoeg" — een IEC-standaard uit 1996, gebouwd rond de fosfor-primaria van de CRT-monitoren van die tijd. Hij definieerde stilletjes de bovengrens van wat een webkleur kon betekenen. Toen braken wide-gamut-displays die aanname open. Apple's Display P3 dekt ongeveer 50% meer van het zichtbare spectrum dan sRGB en zit nu in elke iPhone, iPad en MacBook vanaf 2017. Rec2020 dekt nog meer en is de broadcaststandaard voor HDR-tv. HSL bakte sRGB's gamma-eigenaardigheden diep in zijn definitie, en daarom oogt een HSL-ramp visueel ongelijkmatig op een wide-gamut-display — een groen op L=50% oogt helderder dan een blauw op L=50%, omdat HSL's L geometrisch is, niet perceptueel. In 2020 publiceerde Björn Ottosson OKLAB, een perceptueel-uniforme kleurruimte afgeleid van CIE-LAB met gecorrigeerde lightness-respons en schoner gedrag bij hoge verzadiging. OKLCH is de polaire vorm ervan (Lightness / Chroma / Hue), dezelfde shape als HSL maar met de perceptuele wiskunde gerepareerd. CSS Color 4 voegde oklch()- en oklab()-syntax toe in 2022; Chrome 111 shippte ondersteuning in maart 2023, Safari 15.4 had het al sinds maart 2022, en Firefox 113 landde in mei 2023. Tailwind v4, uitgebracht in 2025, maakte OKLCH zijn standaard color-token-formaat; shadcn/ui volgde kort daarna. Deze tool weerspiegelt die verschuiving door OKLCH tot de interne bron van waarheid te maken — elke conversie loopt via OKLCH, dus een HEX → RGB → OKLAB → HEX round-trip stapelt geen float-drift op, en het direct bewerken van de L-channel van OKLCH werkt elk ander veld exact bij.
Welke ruimte je pakt hangt volledig af van wat je doet. HEX is de juiste keuze voor web-embedding, copy-paste tussen designtools en code, en overal waar compacte identifiers ertoe doen — #3b82f6 past comfortabel in een CSS-variabele en de meeste front-end-developers herkennen 'm op het zicht. De aparte hex naar RGB converter dekt de meest voorkomende richting in één stap; de omgekeerde RGB naar hex converter dekt het geval waarin je losse channel-integers hebt van een designer of een pipeline voor pixelwiskunde. RGB is voor directe hardware-adressering — overal waar je 0-255 integers nodig hebt (canvas-API's, beeldmanipulatie, hardware LED-strips, OpenGL-kleurattributen). HSL is de legacy designer-cognitieve ruimte — kleurtoon draaien, verlichten, verdonkeren — en nog steeds nuttig als je een snelle CSS-kleur moet tweaken in een project dat nog niet naar OKLCH is gemigreerd. De eenrichtings- hex naar HSL converter is de juiste shortcut als dat is wat je nodig hebt. HSV en HWB zijn designer-color-picker-ruimtes. HSV (Hue, Saturation, Value) matcht het saturation-value-vierkant dat de meeste picker-UI's tekenen, dus dat is wat Photoshop, Figma en Sketch rapporteren als je op de eyedropper klikt. HWB is het schonere mentale model — kies een pure kleurtoon, voeg dan wit toe om lichter of zwart om donkerder te maken — en CSS Color 4 voegde native hwb()-ondersteuning toe in alle evergreen-browsers. CMYK is voor printvoorbereiding. Een nuchtere disclaimer: onze CMYK-uitvoer is een naïeve sRGB-gebaseerde benadering met de standaardformule K = 1 - max(R,G,B); C = (1-R-K)/(1-K). Echte printnauwkeurigheid vereist een ICC-profiel-conversie tegen de specifieke pers, inkt en papier — typisch US Web Coated SWOP v2 of Fogra39 — wat kanalen 5-15% kan verschuiven. Behandel onze CMYK als startschatting, niet als deliverable. De eenrichtings- hex naar CMYK converter past dezelfde formule met dezelfde caveat toe. OKLCH is de standaardkeuze voor nieuwe code in 2025 en verder — moderne design systems, toegankelijkheidsbewuste paletgeneratie, overal waar perceptuele uniformiteit telt. De eenrichtings- hex naar OKLCH converter bestaat voor snelle migratie van een legacy-palet. OKLAB is de rechthoekige neef gebruikt voor palet-wiskunde: midpoints tussen twee kleuren, afstandsberekeningen, kleurenblindheid-simulatie-matrices en andere bewerkingen die lineaire-as-rekenkunde nodig hebben. Named colors zijn voor documentatie, code-commentaar, mockups en proza — de 148 CSS named colors zijn een vast woordenboek, en de tool vindt de dichtstbijzijnde named color voor elke invoer via ΔE-afstand in OKLAB.
De conversie-graaf in het hart van dit alles is goed gedefinieerd en verrassend schoon. sRGB en linear-sRGB zijn gerelateerd via een stukgewijze gammacurve gespecificeerd in W3C CSS Color 4 §11.2 (ongeveer een 2,4-exponent met een klein lineair segment rond nul). Linear-sRGB en CIE XYZ D65 zijn gerelateerd via een vaste 3×3-matrix uit CSS Color 4 §15.1. XYZ D65 en OKLAB zijn gerelateerd via twee matrices en een derdemachtswortel-stap (de LMS-cone-respons-stap, per Ottosson 2020). OKLAB en OKLCH zijn gerelateerd via een cartesiaans-naar-polair-transform — C = sqrt(a² + b²); H = atan2(b, a). HEX is gewoon sRGB geserialiseerd als #RRGGBB in grondtal-16. RGB ↔ HSL, RGB ↔ HSV, RGB ↔ HWB zijn directe geometrische transforms binnen sRGB, gedefinieerd in CSS Color 4 §5-7. CMYK is de naïeve sRGB-gebaseerde formule hierboven. De hele pipeline is een gerichte graaf met OKLCH intern als wortel; elk ander formaat wordt op elke toetsaanslag daaruit berekend.
Naast de kern-conversie shipt deze tool features die de legacy-generatie niet had. Display P3- en Rec2020-gamutdetectie — drie badges markeren of de huidige kleur binnen het reproduceerbare bereik van elke ruimte valt, met een Snap to sRGB-knop die binaire chroma-reductie gebruikt (per CSS Color 4's informatieve algoritme) om de kleur te verkleinen totdat hij past. WCAG 2- + APCA Lc-dubbele contrast-badges — beide metrieken in één rij weergegeven zodat je vandaag de regelgevende standaard haalt en met de toekomstgerichte perceptuele metriek sanity-checkt. 8 kleurenblindheid-simulaties — protanopia, deuteranopia en tritanopia via de Brettel-Viénot-Mollon 1997 dichromatie-matrices; protanomaly, deuteranomaly en tritanomaly via Machado-Oliveira-Fernandes 2009 anomale-trichromatie-matrices op severity 0,66; achromatopsia en gedeeltelijke achromatomaly via rec601 luminantie-gewichten. OKLCH-uniforme paletgeneratie — tints, shades, tones en harmonies gebouwd door de L-channel in gelijke stappen te verzetten met vaste C en H (dezelfde constructie als het standaardpalet van Tailwind v4). CSS / Tailwind v4 / SwiftUI / Compose / Flutter-codesnippets — plak-klare uitvoer voor de vijf platforms die de meeste cross-team-teams aanspreken. EyeDropper API-integratie op Chromium-browsers (Chrome, Edge, Brave, Opera) voor het pakken van kleuren overal op het scherm inclusief buiten de browser. URL-hash-state — de huidige kleur codeert in de URL als #hex=... of #oklch=... zodat je een live link naar exact dezelfde kleur met één kopie kunt delen.
Alles in deze tool draait lokaal in je browser. Je kleurwaarden worden nooit geüpload, nooit gelogd, nooit geanalyseerd, nooit op een server opgeslagen. Nul netwerkverzoeken terwijl je typt — open DevTools → Netwerk en kijk: typen in een willekeurig veld triggert nul verkeer. Het verschil met klassieke server-gebaseerde converters is direct meetbaar: een tool die op elke toetsaanslag de waarde via een endpoint heen en weer stuurt, betaalt 80-300 ms latency per wijziging en logt de waarde aan de serverkant — twee redenen waarom unified-field-bewerken op afstand niet kan werken zoals het hier doet. Dat maakt de tool veilig voor onaangekondigde merkpaletten, interne design-token-systemen, concept-mockups en al het andere vertrouwelijke kleurwerk. Geen cookies registreren wat je plakt; geen analytics vuren op kleurwijzigingen. Dezelfde houding strekt zich uit tot de URL-hash: het #hex=...-fragment leeft alleen in je adresbalk en wordt nooit naar de server verzonden (browsers nemen het fragment niet op in HTTP-verzoeken), dus zelfs een gedeelde link lekt de kleur niet naar enige derde partij anders dan de ontvanger die je 'm stuurt. Voor teams die werken aan pre-launch merkwerk, embargoed campagnes of klantpaletten onder NDA telt dat zwaarder dan de gemakskop suggereert. Wil je het zelf controleren: open de pagina, ga offline (DevTools → Netwerk → Offline) en typ door — de conversies blijven doorlopen, de gamut-badges blijven werken, de paletgeneratie blijft werken. Alleen de eerste paginalaadbeurt heeft het netwerk nodig; daarna is de tool volledig autonoom. Voor een diepere duik in waarom OKLCH in 2024–2026 de standaard werd voor design systems, lees onze begeleidende gids: OKLCH-kleurruimte uitgelegd — waarom Tailwind v4 erop overstapte.
// sRGB → linear → XYZ D65 → OKLAB → OKLCH
// References: W3C CSS Color 4 §11-15, Ottosson 2020 (https://bottosson.github.io/posts/oklab/)
// Worked example: #3b82f6 (Tailwind blue-500)
const srgb = [0x3b, 0x82, 0xf6].map(v => v / 255); // [0.231, 0.510, 0.965]
const toLinear = (v) => v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);
const lin = srgb.map(toLinear); // gamma-decoded linear-sRGB
// linear-sRGB → XYZ D65 (CSS Color 4 §15.1 matrix)
const [lr, lg, lb] = lin;
const x = 0.4124564 * lr + 0.3575761 * lg + 0.1804375 * lb;
const y = 0.2126729 * lr + 0.7151522 * lg + 0.0721750 * lb;
const z = 0.0193339 * lr + 0.1191920 * lg + 0.9503041 * lb;
// XYZ D65 → LMS (Ottosson 2020 matrix), cube-root, → OKLAB
const l_ = Math.cbrt(0.8189330101 * x + 0.3618667424 * y - 0.1288597137 * z);
const m_ = Math.cbrt(0.0329845436 * x + 0.9293118715 * y + 0.0361456387 * z);
const s_ = Math.cbrt(0.0482003018 * x + 0.2643662691 * y + 0.6338517070 * z);
const L = 0.2104542553 * l_ + 0.7936177850 * m_ - 0.0040720468 * s_;
const a = 1.9779984951 * l_ - 2.4285922050 * m_ + 0.4505937099 * s_;
const b = 0.0259040371 * l_ + 0.7827717662 * m_ - 0.8086757660 * s_;
// OKLAB → OKLCH (Cartesian to polar)
const C = Math.sqrt(a * a + b * b);
const H = (Math.atan2(b, a) * 180 / Math.PI + 360) % 360;
console.log(`oklch(${L.toFixed(3)} ${C.toFixed(3)} ${H.toFixed(1)})`);
// → oklch(0.629 0.193 263.4) Kernfuncties
9 simultaan bewerkbare kleurruimtes
Elk formaat — HEX, RGB, HSL, HSV, HWB, CMYK, OKLCH, OKLAB en CSS named color — is een direct bewerkbaar veld, geen eenrichtings-dropdown. Typ een oklch()-waarde en HEX, RGB, HSL worden allemaal bijgewerkt; plak een hex uit Figma en OKLCH werkt bij met de matchende perceptuele coördinaten. De cursor in het veld dat je bewerkt blijft staan — alleen de andere acht velden re-renderen op elke toetsaanslag, dus bewerken voelt natuurlijk.
OKLCH als bron van waarheid — bit-perfecte round-trips
De interne canonieke representatie is OKLCH, de perceptueel-uniforme polaire vorm van OKLAB (Ottosson 2020). Elk ander formaat wordt daarvan afgeleid op elke toetsaanslag. Dit betekent dat HEX → RGB → HSL → OKLAB → HEX round-trips zonder float-drift verlopen — de originele hex komt onveranderd terug. Legacy-converters die conversies via HSL of sRGB routen, stapelen per-stap-afrondingsfout op; deze tool niet.
Display P3 + Rec2020 gamut-waarschuwingen
Drie live badges (sRGB, Display P3, Rec2020) tonen of de huidige kleur binnen het reproduceerbare bereik van elke ruimte valt. Handig als je in OKLCH werkt en wilt weten welke displays de waarde accuraat zullen weergeven — veel Tailwind v4 OKLCH-kleuren overschrijden sRGB maar passen in P3, wat de meeste Apple-apparaten sinds 2017 kunnen renderen. De Snap to sRGB-knop gebruikt het binaire chroma-reductie-algoritme van CSS Color 4 om de kleur te verkleinen totdat hij past.
WCAG 2 + APCA contrast in één rij
Contrast tegen zowel wit als zwart wordt getoond met twee metrieken naast elkaar: de WCAG 2.1-ratio (4,5:1 = AA lopende tekst, 7:1 = AAA) voor regelgevende compliance vandaag, en de APCA Lc-score (het toekomstgerichte WCAG 3 perceptuele contrastalgoritme). APCA is polariteit-gevoelig (licht-op-donker weegt anders dan donker-op-licht), wat WCAG 2's symmetrische formule fout doet. Gebruik beide: WCAG voor audits, APCA voor echte leesbaarheid.
Kleurenblindheid-simulatie over 8 deficiëntietypen
Live voorvertoningen voor de drie dichromaties (protanopia, deuteranopia, tritanopia) via Brettel-Viénot-Mollon 1997-matrices, de drie anomale trichromaties (protanomaly, deuteranomaly, tritanomaly) via Machado-Oliveira-Fernandes 2009-matrices op severity 0,66, plus achromatopsia en achromatomaly via rec601 luminantie-gewichten. Dekt ongeveer 8% van de mannen en 0,5% van de vrouwen — de populaties waarvoor je ontwerp toegankelijk moet blijven.
OKLCH-uniforme tints, shades, tones en harmonies
Palet-ramps worden gegenereerd door de L-channel in gelijke OKLCH-stappen te verzetten met vaste Chroma en Hue — dezelfde constructie als Tailwind v4. Het resultaat is perceptueel gelijkmatig: de visuele afstand tussen de stops 400 en 500 oogt identiek aan die tussen 500 en 600, wat een HSL-ramp niet kan garanderen. Harmonies (complement, triad, tetrad, split-complement) roteren Hue met exacte hoeken en behouden L+C.
Copy as CSS / Tailwind v4 / SwiftUI / Compose / Flutter
Met één klik codegeneratie voor de vijf platforms waarheen de meeste cross-team-teams shippen: CSS custom property (--color-brand: oklch(0.629 0.193 263.4)), Tailwind v4 @theme-token, SwiftUI Color(red:green:blue:)-literal, Jetpack Compose Color(0xFF3B82F6)-constante, Flutter Color(0xFF3B82F6). De exacte syntax die elk platform verwacht, klaar om te plakken in een merkstylesheet, een iOS-asset catalog of een Android-thema.
Handgeschreven OKLCH-picker (nul afhankelijkheden)
Het SL-vierkant + de hue-slider + de alpha-slider zijn geschreven in plain canvas + JavaScript zonder externe picker-bibliotheek. De OKLCH-gradient op de hue-slider wordt berekend uit echte OKLCH-wiskunde, niet benaderd met HSL, dus het slepen van de slider produceert perceptueel-uniforme kleurtoonrotatie. Het bundle-gewicht blijft onder 10 KB voor de hele interactieve laag; de first paint is snel, zelfs op cold loads.
100% in-browser — geen upload, geen tracking
Alle conversie-wiskunde, paletgeneratie, contrastscoring en gamutdetectie draait lokaal in je browser. Je kleurwaarden worden nooit verzonden, nooit op een server opgeslagen, nooit gelogd, nooit geanalyseerd. Nul netwerkverzoeken terwijl je typt — verifieer in DevTools. Veilig voor onaangekondigde merkpaletten, interne design-tokens, concept-mockups en al het andere vertrouwelijke kleurwerk.
Color converter-alternatieven vergeleken
ColorHexa
browsertoolEen veteraan-concurrent met diepe per-kleur-informatiepagina's — genereert een volledige SEO-pagina per hex met conversies, paletten, harmonies en gradients. UI is gedateerd (esthetiek van begin jaren 2010), geen OKLCH-ondersteuning, geen APCA-contrast, geen wide-gamut-afhandeling. Sterk voor SEO-vindbaarheid van een specifieke kleur ("#FF5733" als zoekquery); zwakker voor actief designwerk waar unified-field-UX ertoe doet.
RapidTables
browsertoolBrede selectie eenrichtings-converters (HEX naar RGB, RGB naar HEX, HEX naar HSL, enz.) plus andere unit-tools. Elke conversie is een aparte pagina met een eenrichtingsformulier — geen live unified-fields-ervaring. Geen OKLCH-ondersteuning, geen gamut-waarschuwingen, geen contrast-check. Bruikbaar voor losse snelle conversies wanneer je vanuit een Google-zoekopdracht binnenkomt; deze tool is sneller voor elke workflow met meer dan één conversie.
HTMLColorCodes
browsertoolSterke color-picker en palet-generator met een schone UI. De picker-UX is goed voor visuele exploratie. De converter-kant is basaal — HEX, RGB, HSL, HSV, CMYK alleen; geen OKLCH, geen OKLAB, geen gamutdetectie. Het beste als je variaties van een kleur visueel wilt verkennen; deze tool wint wanneer je moderne kleurruimtes of nauwkeurige conversie-wiskunde nodig hebt.
OKLCH.com
browsertoolPrachtig gebouwde OKLCH-gerichte tool door Andrey Sitnik (auteur van de postcss-oklab-function polyfill). Best-in-class voor OKLCH-specifieke exploratie met een wide-gamut-bewuste picker en paletgeneratie. Dekt HEX/RGB/HSL/CMYK-conversie niet als primaire uitvoer — gericht op OKLCH alleen. Pak OKLCH.com wanneer je puur OKLCH-designwerk doet; pak deze tool wanneer je cross-space-conversie nodig hebt.
ConvertingColors
browsertoolDekt veel kleurruimtes (HEX, RGB, HSL, HSV, CMYK, XYZ, CIELAB en meer) met een per-kleur-SEO-contentpagina-model vergelijkbaar met ColorHexa. Mist moderne OKLCH-ondersteuning, geen APCA-contrast, geen wide-gamut-afhandeling, en de auto-gegenereerde contentpagina's ogen content-farm-achtig. Goed voor het uitpluizen van individuele kleur-metadata; deze tool is sneller voor actief design- en toegankelijkheidswerk.
IT-Tools
open-source browsertoolSchone zelf-hostbare Vue 3-verzameling devtools, met een color converter tussen veel andere utilities. UX is consistent over de hele suite. De color converter dekt HEX, RGB, HSL, HSV, CMYK; geen OKLCH, geen gamut-waarschuwingen, geen contrast-check, geen kleurenblindheid-simulatie. De moeite waard om lokaal te draaien als je een zelf-gehoste multi-tool-collectie wilt; deze tool is de toegewijde, diepere alleen-kleur-optie.
W3Schools Color Converter
browsertoolBasale HEX/RGB/HSL-toggle op een beginnersvriendelijke pagina, alomtegenwoordig in zoekresultaten voor color-converter-queries. Geen OKLCH, geen geavanceerde features. Bruikbaar als leerreferentie naast W3Schools' uitleg-content. Deze tool wint op elke andere as: meer ruimtes, perceptuele wiskunde, gamut + contrast + CVD-features, moderne Tailwind v4 / SwiftUI / Compose / Flutter codeexport.
Voorbeelden van kleurconversie
Tailwind v4 merkkleur → OKLCH
#3b82f6
OKLCH-uitvoer: oklch(0.629 0.193 263.4). Plak dat direct in een Tailwind v4 @theme-blok als --color-brand-500: oklch(0.629 0.193 263.4); en de rest van je ramp lijnt perceptueel uit. Tailwind v4 standaardiseerde in 2024 op OKLCH voor zijn standaardpalet juist omdat de L-channel de waargenomen helderheid consistent houdt over kleurtonen heen — green-500 en blue-500 ogen even helder, wat HSL/RGB-ramps niet kunnen garanderen. De hex blijft letterlijk bewaard als je ook een fallback nodig hebt voor oudere browsers.
Web-hex → SwiftUI Color-literal
#FF5733
SwiftUI-uitvoer (onder Copy as code → SwiftUI): Color(red: 255/255, green: 87/255, blue: 51/255). De klassieke iOS- / macOS-workflow: een designer dropt een hex in het merkpaneel van Figma, je plakt die hier, en kopieert de SwiftUI-literal in een View. De expressievorm (met de expliciete /255-deling) is bewust — die overleeft een code review beter dan de ondoorzichtige Color(red: 1.0, green: 0.341, blue: 0.2) omdat de originele merk-hex in de broncode zichtbaar blijft.
Designerpalet-kleurstaal → CMYK-benadering voor print
#FF6347
CMYK-uitvoer: ongeveer cmyk(0%, 61%, 72%, 0%). Dit is een naïeve sRGB → CMYK-conversie via de standaardformule K = 1 − max(R,G,B); C = (1−R−K)/(1−K) — bruikbaar als snelle startschatting voor een printofferte, maar geen vervanging voor de echte conversie. Een drukkerij draait het bestand door een ICC-profiel (typisch US Web Coated SWOP v2 of Fogra39) afgestemd op de exacte pers, inkt en papier, wat kanalen 5-15% kan verschuiven. Behandel dit getal als sanity check, niet als deliverable.
OKLCH wide-gamut-kleur → sRGB-fallback
oklch(0.7 0.25 30)
De gamut-rij markeert deze kleur direct als buiten sRGB (Display P3 dekt 'm wel, Rec2020 ook). Op een standaardmonitor rendert hij als gedesatureerde benadering; op een P3-capabele display (de meeste laptops geleverd na 2017) rendert hij verzadigd. Klik Snap to sRGB om chroma te verlagen tot de kleur in de sRGB-kubus past, en kopieer dan de resulterende hex (rond #ef6b50) als fallback. Met OKLCH als bron van waarheid kun je de wide-gamut-waarde in je design-token houden en de gesnapte hex shippen als @supports not (color: oklch(...))-fallback.
WCAG-contrast voor lopende tekst verifiëren
#767676
Tegen wit (#ffffff) komt de WCAG 2.1-contrastratio uit op ongeveer 4,54:1 — net boven de 4,5:1 AA-drempel voor lopende tekst. Drop één cijfer naar #777777 en de ratio zakt naar 4,48:1, wat AA niet haalt. De APCA Lc-waarde verschijnt ernaast als toekomstgerichte metriek (WCAG 3 draft) — APCA scoort dit paar rond Lc 60, iets onder de aanbevolen Lc 75 voor lopende tekst. Gebruik beide: WCAG om audits te halen, APCA om er zeker van te zijn dat het resultaat ook echt leesbaar oogt.
De CSS named color vinden die het dichtst bij een merk-hex ligt
#FF6347
Het veld Named geeft tomato (exact) terug omdat de CSS-spec tomato letterlijk definieert als #FF6347 — een van de 148 named colors die met elke browser meekomen. Probeer een bijna-match als #FF6348 en het veld geeft tomato (nearest, ΔE 0.02) terug, met de dichtstbijzijnde named color en hoe ver hij ernaast zit volgens CIE ΔE (Delta E in OKLAB-ruimte). Handig als je teksten of opmerkingen schrijft en een leesbare kleurnaam wilt in plaats van een hexcode.
Een oude HSL-waarde omzetten naar modern OKLCH
hsl(220 70% 50%)
OKLCH-uitvoer: ongeveer oklch(0.5 0.187 263). HSL's L=50% is geen perceptuele 50% — blauw op L=50% oogt veel donkerder dan geel op L=50%, omdat HSL een cilindrische hervorming is van sRGB, niet een uniforme ruimte. OKLCH's L=0,5 komt feitelijk overeen met de mid-grijze luminantie die je oog waarneemt. Wanneer je een HSL-design system naar OKLCH migreert, schuiven de L-waarden (blauwtinten omhoog, geeltinten omlaag) — dat is het systeem dat zichzelf corrigeert, geen bug.
Een palet van 5 lichte en 5 donkere varianten vanuit een merkkleur vinden
#3b82f6
De sectie Tints / Shades / Tones / Harmonies genereert 5 lichtere en 5 donkere varianten door de OKLCH L-channel in gelijke stappen te verzetten terwijl C en H vast blijven. Het resultaat is een perceptueel gelijkmatige ramp — de afstand tussen 500 en 600 oogt hetzelfde als die tussen 600 en 700, en dat is wat een design system nodig heeft. Klik op een kleurstaal om die als actieve kleur te laden, en kopieer de hex/OKLCH. Dezelfde constructie als Tailwind v4's standaard-paletgenerator.
Zo gebruik je de color converter
- 1
Plak of typ elke kleur in elk formaat
Elk van de 9 formaatvelden (HEX, RGB, HSL, HSV, HWB, CMYK, OKLCH, OKLAB, Named) is direct bewerkbaar — er is geen "Converteren"-knop om op te klikken. Plak een hex uit Figma, typ een
oklch()-waarde uit een Tailwind-config, drop eenhsl()uit een oude stylesheet, of typ zelfs een CSS named color zoalstomato. De tool parseert incrementeel terwijl je typt, dus een half-getypte waarde blaast de andere niet weg totdat je een geldig formaat vastlegt. Ongeldige invoer krijgt een rustige inline foutmelding; geldige invoer werkt de volledige grid bij. - 2
Alle 9 formaten worden direct bijgewerkt
De interne bron van waarheid is OKLCH (perceptueel uniform, gamut-onbegrensd), en elk ander formaat wordt daarvan afgeleid bij elke toetsaanslag. Het veld waarin je typt behoudt zijn cursorpositie ongemoeid — alleen de *andere* acht velden re-renderen. Dat betekent dat je de L-channel van OKLCH direct kunt bewerken en hex, RGB, HSL en CMYK in realtime ziet meeschuiven zonder je cursor te verliezen. De conversie-wiskunde draait volledig in JavaScript met dezelfde OKLAB-primitieven die in moderne browsers zitten.
- 3
Gebruik de picker voor visuele exploratie
Onder de formaatgrid zit een saturation-lightness-vierkant (sleep om S+L voor de huidige kleurtoon te zetten), een hue-slider (sleep om rond de kleurencirkel te draaien), en een alpha-slider (sleep voor transparantie). Op Chromium-gebaseerde browsers (Chrome, Edge, Brave) activeert de Eyedropper-knop de native
EyeDropper-API — klik ergens op het scherm, ook buiten het browserscherm, om de kleur van die pixel te samplen. Safari en Firefox shippen de API nog niet, dus daar is de knop verborgen en blijven het SL-vierkant + de hue-slider de primaire picker. - 4
Check gamut en contrast in één oogopslag
Drie gamut-badges (sRGB, Display P3, Rec2020) tonen of de huidige kleur binnen het reproduceerbare bereik van elke ruimte valt — handig als je in OKLCH werkt en wilt weten welke displays de waarde accuraat zullen weergeven. De contrastrij toont de WCAG 2.1-ratio tegen zowel wit als zwart, plus de APCA Lc-score (toekomstgerichte WCAG 3-metriek). Pass / fail-badges (AA, AAA) verschijnen inline. Als een kleur buiten gamut van sRGB valt, verkleint een Snap to sRGB-knop de chroma tot hij past.
- 5
Kopieer in de native syntax van je platform
Elk van de 9 formaatvelden heeft een eigen Kopiëren-knop — één klik, de waarde belandt op je klembord, het label springt kort op "Gekopieerd!" zodat je het weet. Onder de picker genereert de sectie Copy as code plak-klare snippets voor vijf platforms: CSS custom property, Tailwind v4
@theme-token, SwiftUIColor(red:green:blue:)-literal, Jetpack ComposeColor(0xFF...)-constante, en FlutterColor(0xFF...). De URL-hash (#hex=...of#oklch=...) wordt ook bijgewerkt zodat je een live link naar exact dezelfde kleur kunt delen.
Veelgemaakte fouten bij kleurconversie
HSL met OKLCH verwarren
Beide ruimtes delen dezelfde cilindrische Hue / Lightness / (Saturation of Chroma)-shape, waardoor ze op papier uitwisselbaar lijken. Dat zijn ze niet. HSL's L is geometrisch — afgeleid van RGB door max- en min-channel-waarden te middelen — en bakt sRGB's gammacurve in. OKLCH's L is perceptueel, verankerd aan het OKLAB-model. Een HSL-ramp op uniforme L oogt visueel ongelijkmatig over kleurtonen heen; een OKLCH-ramp op uniforme L blijft gelijk. Vervang de een niet door de ander in een design-system-migratie zonder bij te tunen.
Aannemen dat een HSL-palet perceptueel uniform is: hsl(220 50% 30%) → hsl(220 50% 60%) → hsl(220 50% 90%) Op het scherm oogt dit ongelijkmatig verdeeld.
Gebruik OKLCH voor perceptueel-uniforme ramps: oklch(0.30 0.10 220) → oklch(0.60 0.10 220) → oklch(0.90 0.10 220) Op het scherm oogt dit gelijkmatig verdeeld.
Naïeve CMYK vertrouwen voor print
De CMYK-uitvoer hier komt uit de standaard schoolboekformule K = 1 - max(R,G,B) toegepast op sRGB. Het is een nuttig richtgetal, geen vervanging voor de echte conversie. Drukkerijen draaien bestanden door een ICC-profiel (US Web Coated SWOP v2, Fogra39, Japan Color 2011, enz.) afgestemd op de specifieke pers, inkt en papier. ICC-geconverteerde CMYK kan 5-15% per channel verschillen van de naïeve formule. Stuur de originele sRGB-hex naar de drukker en laat hem de juiste conversie doen.
Stuur onze CMYK-uitvoer direct naar een pers: hex #FF6347 → cmyk(0%, 61%, 72%, 0%) Het geprinte resultaat kan vies of oververzadigd ogen.
Stuur de originele hex naar de drukker: hex #FF6347 → laat de drukker ICC-converteren tegen zijn pers Het geprinte resultaat matcht de schermkleur veel nauwkeuriger.
APCA Lc lezen als WCAG-2-compatibel getal
APCA Lc en WCAG 2-ratio's zijn verschillende schalen die verschillende dingen meten. WCAG 2 geeft een ratio van 1:1 (geen contrast) tot 21:1 (max contrast), met 4,5:1 als wettelijke AA-ondergrens voor lopende tekst. APCA geeft Lc van 0 tot ±108 met teken dat polariteit aangeeft (positief voor donkere tekst op lichte achtergrond, negatief voor lichte tekst op donkere achtergrond). Lc 60 mapt niet naar WCAG 4,5:1; de relatie is niet-lineair en richtingsafhankelijk. Gebruik beide metrieken naast elkaar, niet de een als vertaling van de ander.
Doen alsof Lc 60 = WCAG 4,5:1: APCA Lc 60 → "dit haalt AA" WCAG 2-ratio voor hetzelfde paar zou 3,8:1 kunnen zijn (faalt AA).
Check beide metrieken onafhankelijk: WCAG 2-ratio ≥ 4,5:1 voor AA-compliance lopende tekst, EN APCA |Lc| ≥ 75 voor real-world leesbaarheid. Beide moeten slagen, niet de een als substituut voor de ander.
HSL gebruiken voor design-system-schaduwen
Het genereren van een 50/100/200/.../900-ramp door de L-channel van HSL te verzetten levert een visueel ongelijkmatige ramp op omdat HSL's L niet perceptueel is. De donkere stops ogen te donker, de lichte stops te licht, en de middelste stops worden samengedrukt. Designers fixen dit door elke stop met de hand te tunen, een oefening van meerdere uren per merkkleur. OKLCH lost het probleem door constructie op — gelijke L-stappen ogen gelijk — dus de ramp is gelijk bij de eerste poging.
L verzetten in HSL voor schaduwen: hsl(220 50% 30%) / hsl(220 50% 60%) / hsl(220 50% 90%) 90% oogt uitgewassen; 30% oogt veel donkerder dan de afstand naar 60%.
L verzetten in OKLCH voor schaduwen: oklch(0.30 0.10 220) / oklch(0.60 0.10 220) / oklch(0.90 0.10 220) Elke stap oogt als dezelfde visuele afstand.
Alpha vergeten bij het kopiëren van HEX
8-cijferige hex (#RRGGBBAA) en de 4-cijferige verkorte vorm (#RGBA) coderen alpha-transparantie in het laatste paar. CSS ondersteunt beide; oudere parsers (waaronder sommige legacy CSS-preprocessors en designtools van vóór 2018) begrijpen alleen 6-cijferige hex en kappen de alpha stilletjes af. Resultaat: een kleur die je 50% transparant verwachtte rendert volledig dekkend. Verifieer altijd dat de doel-syntax 8-cijferige hex accepteert voor je alpha-dragende waarden kopieert; voor legacy-targets, val terug op rgba().
Kopieer 8-cijferige hex naar een legacy-parser: #FF573380 → parser kapt af → #FF5733 (geen alpha) De 50%-transparantie gaat stilletjes verloren.
Verifieer dat het doel 8-cijferige hex ondersteunt, of gebruik rgba(): voor modern CSS: #FF573380 (8-cijferige hex) voor legacy-support: rgba(255, 87, 51, 0.5) (altijd ondersteund) Expliciete alpha-syntax voorkomt stille afkapping.
Naar sRGB snappen zonder Display P3 mee te wegen
Snap to sRGB is een nuttig vangnet voor legacy-contexten, maar het zonder onderscheid toepassen ondermijnt het wide-gamut-display waarvoor je mogelijk ontwerpt. De meeste Apple-apparaten vanaf 2017 renderen Display P3 native; veel moderne Android-apparaten en laptopschermen ook. Een wide-gamut OKLCH-kleur die sRGB overschrijdt maar in P3 past, oogt dramatisch verzadigder op P3-hardware dan de gesnapte sRGB-benadering. Check eerst de P3 gamut-badge; snap alleen wanneer je sRGB-only-legacy-contexten target.
Snap elke OKLCH-kleur standaard naar sRGB: oklch(0.7 0.25 30) → snap → oklch(0.7 0.18 30) P3-displays verliezen 30%+ verzadiging zonder reden.
Check eerst de Display P3-badge: als fits-P3: houd de wide-gamut-waarde, voeg sRGB-fallback toe via @supports als exceeds P3: dan snappen naar sRGB Laat de wide-gamut-hardware zijn werk doen.
Wie gebruikt deze tool
- Frontend-devs migreren naar Tailwind v4 OKLCH-tokens
- Tailwind v4 standaardiseerde in 2024 op OKLCH voor zijn standaardpalet. Het migreren van een oud HSL- of hex-gebaseerd design system betekent honderden merkkleuren naar OKLCH omzetten. Plak elke hex, kopieer de OKLCH-uitvoer, drop in het
@theme-blok. De live gamut-badges markeren kleuren die sRGB overschrijden zodat je kunt beslissen of je de wider-gamut-waarde houdt voor Display P3-displays. - Designers vertalen Figma-kleuren naar iOS / Android
- Figma exporteert standaard hex, maar iOS wil SwiftUI
Color(red:green:blue:)-literals en Android wil Jetpack ComposeColor(0xFF...)-constantes. Plak de Figma-hex één keer, kopieer de SwiftUI-snippet voor de iOS-engineer en de Compose-snippet voor de Android-engineer — beide al in de exacte syntax die elk platform verwacht, met de originele hex bewaard in een commentaar voor traceerbaarheid. - Designers bereiden printproofs voor (CMYK-benadering)
- Wanneer een merkkleur op een gedrukt visitekaartje moet verschijnen, geeft de CMYK-benadering een snelle schatting om te delen met de drukkerij vóór de echte ICC-conversie. Plak de merk-hex, kopieer de CMYK-percentages, stuur naar de drukker voor een snelle prijsopgave — laat dan de ICC-profiel-bewuste conversie van de drukker over om de uiteindelijke kleurmatch tegen de specifieke pers te doen.
- Toegankelijkheidsengineers verifiëren WCAG en APCA
- WCAG 2.1 is de regelgevende standaard (ADA, EAA, Section 508) vandaag; APCA Lc is de voorgestelde WCAG 3-opvolger. Beide metrieken naast elkaar tonen betekent dat een designer een lopende-tekst-kleur kan verifiëren op 4,5:1 WCAG tegen wit, en dan sanity-checken dat hij ook door APCA Lc 75 komt, op één scherm — zonder tussen twee aparte calculators te springen.
- Onderwijzers leggen kleurruimte-concepten uit
- De simultane negen-veldenweergave maakt kleurruimte-relaties zichtbaar. Typ een OKLCH-waarde, kijk hoe HSL afdwaalt omdat L iets anders betekent in elke ruimte. Sleep de hue-slider en kijk hoe hex, RGB en CMYK allemaal bijwerken. Laat zien hoe de gamut-badges rood worden als je chroma voorbij sRGB duwt. De tool is zijn eigen klaslokaal-demo voor een graphics- of HCI-cursus op universiteitsniveau.
- Brandmanagers vinden de dichtstbijzijnde CSS named color
- Wanneer de marketingtekst zegt "een tomaatkleurig accent" maar de feitelijke merk-hex is
#FF6347, geeft het Named-veldtomato (exact)terug omdat dat letterlijk is wattomatooplevert in de CSS-spec. Voor bijna-match-hexen geeft het veld de dichtstbijzijnde named color terug met de ΔE-afstand in OKLAB — handig voor documentatie, proza en informeel kleurbenoemen. - Web-devs converteren legacy HEX-paletten naar OKLCH
- Een oudere site kan een merkpalet van 50 kleuren hebben dat in CSS custom properties als hex-codes is gedefinieerd. Moderniseren naar OKLCH laat het merkteam dezelfde ramps in een perceptueel-uniforme ruimte uitdrukken. Plak elke hex, kopieer de OKLCH-uitvoer, swap in de variabele-definities. Het Tints/Shades-paneel eronder verifieert dat de resulterende ramp visueel gelijkmatig is voor je shippt.
- Open-source-maintainers documenteren design tokens
- Design-token-documentatie moet meestal dezelfde kleur in meerdere syntaxen tonen — hex voor het CSS-codeblok, OKLCH voor de spec-tabel, de named color voor proza-vermeldingen. De simultane-veldweergave laat een maintainer elk in één pass kopiëren in plaats van drie aparte conversies opnieuw te draaien. De deelbare URL-hash laat contributors ook linken naar de exact besproken kleur in een GitHub-issue.
Wiskunde & algoritmen achter kleurconversie
- OKLCH als interne bron van waarheid
- De tool houdt de canonieke kleurwaarde intern aan als OKLCH-triple. Elk bewerkbaar veld leidt zijn weergavewaarde uit dat triple af op elke toetsaanslag; elke bewerking door de gebruiker werkt eerst het triple bij en triggert dan een re-render van de andere acht velden. Dit elimineert de per-stap float-drift die converters teistert die via HSL of sRGB als pivot routen. De keuze voor OKLCH boven OKLAB is bewust — de polaire vorm behoudt Hue als stabiele as, dus het slepen van de hue-slider crossfadet niet per ongeluk door grijs. Per Björn Ottossons paper uit 2020 is OKLAB's perceptuele uniformiteit het sterkste argument om het te behandelen als lingua franca van moderne kleur-wiskunde.
- Matrix-bronnen (W3C CSS Color 4 + Ottosson 2020)
- Elke conversiematrix in de codebase wordt geciteerd naar zijn primaire bron. De sRGB ↔ linear-sRGB stukgewijze gammafunctie is W3C CSS Color 4 §11.2 (
v <= 0.04045 ? v/12.92 : ((v+0.055)/1.055)^2.4). De linear-sRGB ↔ CIE XYZ D65 3×3-matrix is CSS Color 4 §15.1. De XYZ D65 ↔ LMS-matrix en de OKLAB derdemachtswortel-stap zijn uit Ottossons referentie-implementatie ophttps://bottosson.github.io/posts/oklab/, precies zoals gepubliceerd. Geen enkele matrix wordt herberekend of opnieuw afgeleid — ze letterlijk overnemen houdt de uitvoer identiek aan de referentievectoren van de spec. - Naïeve CMYK-formule en de ICC-caveat
- Onze CMYK-uitvoer gebruikt de standaard schoolboekformule:
K = 1 - max(R, G, B); C = (1-R-K)/(1-K); M = (1-G-K)/(1-K); Y = (1-B-K)/(1-K)werkend op genormaliseerde sRGB-waarden. Dit is een bewuste benadering. Echte printnauwkeurigheid vereist een ICC-profiel-conversie tegen de specifieke pers, inkt (bijv. US Web Coated SWOP v2, Fogra39, Japan Color 2011) en papier, wat kanalen 5-15% kan verschuiven. We tonen het CMYK-veld met een zichtbare disclaimer zodat gebruikers onze waarden niet direct naar een pers shippen. Behandel de uitvoer als sanity check voor offertes, niet als deliverable. - Gamutdetectie via channel-range-check
- Een kleur wordt als in-gamut beschouwd voor een doelruimte (sRGB, Display P3, Rec2020) als elke channel binnen
[-ε, 1 + ε]valt na conversie naar de primaria van die ruimte, waarbijε = 1e-7om float-precisie-ruis rond grenzen op te vangen. De gamut-badge voor elke ruimte wordt rood wanneer een channel het bereik overschrijdt. Dit vangt het gangbare geval — een wide-gamut OKLCH-kleur alsoklch(0.7 0.4 30)rapporteert buiten-sRGB maar in-P3, en vertelt je welke displays hem accuraat zullen weergeven. De check draait op elke toetsaanslag. - Chroma-reductie snap-algoritme
- Snap to sRGB gebruikt binaire zoek op de Chroma-as: houd L en H vast op de huidige waarden, zoek C ∈ [0, currentC] voor de grootste C waarvan de sRGB-conversie in-gamut blijft. De zoek loopt maximaal 30 iteraties (precisie ~10⁻⁹), wat ruim genoeg is voor visuele nauwkeurigheid. Dit matcht het informatieve gamut-mapping-algoritme beschreven in CSS Color 4 §13 — lightness en hue behouden terwijl alleen chroma wordt verlaagd, houdt de gesnapte kleur herkenbaar binnen dezelfde kleurtoon-familie. We clippen niet direct op RGB-kanalen omdat dat hue merkbaar vervormt (vooral bij blauwen).
- Brettel + Machado CVD-matrices
- Kleurenblindheid-simulatie gebruikt twee gepubliceerde matrix-families. De drie dichromaties — protanopia, deuteranopia, tritanopia — gebruiken Brettel-Viénot-Mollon 1997-matrices die werken in linear-RGB (eerst gamma-decoderen, matrix toepassen, weer gamma-encoderen). De drie anomale trichromaties — protanomaly, deuteranomaly, tritanomaly — gebruiken Machado-Oliveira-Fernandes 2009-matrices op severity 0,66, wat overeenkomt met een typische anomale-trichromatie-patiënt. Achromatopsia en gedeeltelijke achromatomaly gebruiken rec601 luminantie-gewichten (
0,299R + 0,587G + 0,114B) voor een grijsschaal-projectie. Alle acht simulaties renderen op elke kleurwijziging. - WCAG 2 vs APCA: wanneer welke
- WCAG 2.x (huidige standaard) berekent een symmetrische contrastratio uit relatieve luminantie:
(L1 + 0,05) / (L2 + 0,05), target 4,5:1 voor normale lopende tekst en 7:1 voor AAA. Dat is de wettelijke compliance-ondergrens voor toegankelijkheidsaudits in 2026. APCA (Accessible Perceptual Contrast Algorithm) is de voorgestelde WCAG 3-opvolger — polariteit-gevoelig (licht-op-donker scoort anders dan donker-op-licht), beter gecorreleerd met door mensen ervaren leesbaarheid, target|Lc| ≥ 75voor lopende tekst. Beide metrieken in één rij laten een designer WCAG 2 halen voor compliance en APCA voor real-world leesbaarheid zonder tussen twee aparte calculators te hoeven springen.
Aanbevolen aanpak voor kleurconversie
- Prefereer OKLCH voor design-system-tokens; HEX voor legacy
- Voor elk nieuw design system dat in 2025 of later shipt, definieer merkkleuren en palet-ramps in OKLCH. De L-as geeft automatisch perceptueel-gelijke ramps; de Chroma-as kan wide-gamut-kleuren adresseren die hex niet kan coderen. Houd een hex-fallback voor oudere browsers via
@supports not (color: oklch(0 0 0))of build-time-PostCSS, maar maak OKLCH de canonieke waarde in je tokenopslag. Legacy-systemen met duizenden bestaande hex-variabelen kunnen op hex blijven tot een geplande migratie — churn niet om het churnen. - Behandel CMYK-uitvoer als benadering, bevestig bij de drukker
- De CMYK-getallen die deze tool oppervlakt zijn een naïeve sRGB-gebaseerde formule, geen ICC-profiel-conversie. Gebruik ze voor offertes en interne comps. Stuur vóór elke echte printrun de originele hex (niet de CMYK-benadering) naar de drukker en laat hem zijn eigen ICC-conversie draaien tegen de specifieke pers, inkt en papier. De 5-15% channel-shift van een goede conversie kan makkelijk een scherp rood in een vies oranje veranderen als de benadering direct wordt geshipt.
- Gebruik APCA Lc voor toekomstgerichte toegankelijkheid
- WCAG 2.x blijft nog enkele jaren de regelgevende ondergrens, maar APCA is de richting waarin de standaard beweegt. Haal voor nieuwe ontwerpen
|Lc| ≥ 75voor lopende tekst en|Lc| ≥ 60voor grote tekst naast de WCAG 2.1-ondergrenzen. APCA vangt leesbaarheidsproblemen op die WCAG 2's symmetrische ratio mist — vooral dunne-streek-tekst op heldere achtergronden, waar de WCAG-ratio er goed uitziet maar de tekst feitelijk verdwijnt op normale leesafstand. - Draai wide-gamut-kleuren door de Display P3 gamut-check
- Als je moderne Apple-hardware (iPhone, iPad, MacBook vanaf 2017) target of HDR-bewuste content shipt, definieer dan merkkleuren in OKLCH en gebruik de Display P3-badge om te verifiëren dat ze in P3 passen, zelfs als ze sRGB overschrijden. De wider-gamut-kleuren ogen merkbaar verzadigder op P3-displays en degraderen netjes via browser-toegepaste chroma-compressie op sRGB-only-schermen. Pre-snap niet naar sRGB tenzij je weet dat je hele publiek op legacy-displays zit.
- Kies perceptueel uniforme schaduwen via OKLCH-tonen
- Wanneer je een 50/100/200/.../900-ramp voor een merkkleur genereert, gebruik dan het Tones-paneel: het verzet L in gelijke stappen met vaste C en H. Het resultaat is een perceptueel-gelijkmatige ramp waar de visuele afstand tussen 400 en 500 identiek oogt aan die tussen 500 en 600. Met de hand HSL-ramps tunen voor dezelfde gelijkmatigheid is een oefening van meerdere uren per kleur; OKLCH geeft het gratis.
- Gebruik de Eyedropper spaarzaam voor cross-tab kleurmatching
- De EyeDropper-API (alleen Chromium per 2026) laat je ergens op het scherm klikken — ook buiten de browser — om de kleur van die pixel te samplen. Handig voor het matchen van een kleur uit een screenshot, een videoframe of de UI van een andere app. Behandel het resultaat als startpunt, niet als eindwaarde — schermweergave past kleurmanagement toe dat kan afwijken van het bronbestand. Voor canonieke merkkleuren: haal de hex altijd uit de designbron (Figma, Sketch, het merkrichtlijnen-PDF) in plaats van eyedropperen van een screenshot.
- Bookmark URL's met
#hex=...voor deelbare paletbeslissingen - De huidige kleur codeert automatisch in de URL-hash als
#hex=...of#oklch=.... Kopieer de URL, plak in een Slack-thread of een GitHub-issue, en iedereen die hem opent landt op exact dezelfde kleur. Handig voor design-review-threads waarin "het merkblauw" één specifiek OKLCH-triple moet betekenen. De hash werkt bij op elke wijziging, dus de URL in je adresbalk is altijd de live huidige kleur — bookmark 'm om later naar een specifiek palet terug te keren.
Veelgestelde vragen
Hoe converteer ik een hexcode naar RGB?
#FF5733 wordt R=FF=255, G=57=87, B=33=51, wat rgb(255, 87, 51) geeft. De 3-cijferige verkorte vorm (#F73) zet je uit door elk cijfer te verdubbelen: #F73 → #FF7733. Deze tool doet de conversie live terwijl je typt — plak elke hex (met of zonder de #, 3- of 6-cijferig, 4- of 8-cijferig met alpha) en het RGB-veld wordt direct bijgewerkt. Is hex hetzelfde als RGB?
#FF5733); de rgb()-functie schrijft ze uit in decimaal (rgb(255, 87, 51)). Ze gaan zonder verlies heen en weer. De verschillen zijn praktisch: hex is korter en past comfortabel in een CSS-variabele, rgb() accepteert een aparte alpha-channel via rgba() en ondersteunt de percentage-syntax van CSS Color 4. Hoe lees je een hex-kleurcode?
#, gegroepeerd als RR GG BB. Elk paar codeert één channel van 00 (niets) tot FF (vol, 255 decimaal). #FF0000 is puur rood, #00FF00 is puur groen, #0000FF is puur blauw. Een 8-cijferige hex (#FF5733CC) voegt een alpha-paar toe aan het einde — CC = 204/255 ≈ 80% dekking. De 3-cijferige verkorte vorm (#F73) zet elk cijfer uit door verdubbeling: #F73 is identiek aan #FF7733. Wat is de formule voor hex naar RGB?
FF = 15×16 + 15 = 255, 57 = 5×16 + 7 = 87, 33 = 3×16 + 3 = 51. In JavaScript: parseInt('FF', 16) geeft 255. In CSS zit de omgekeerde richting in de parser ingebouwd — rgb(255 87 51) en #FF5733 zijn overal uitwisselbaar waar een <color> wordt geaccepteerd. Er is geen afrondingsverlies: 16² = 256, precies passend op de 0-255 byte-range die elke channel inneemt. Waarom hex gebruiken in plaats van RGB?
#FF5733 versus rgb(255, 87, 51)), het is het formaat dat elke designtool (Figma, Sketch, Photoshop) standaard exporteert, en het is het formaat dat je oog na verloop van tijd herkent — de meeste front-end-developers herkennen #3b82f6 als Tailwind blue-500 op het zicht. Gebruik rgb() (of de moderne ruimte-gescheiden rgb(R G B / A)-syntax uit CSS Color 4) als je alpha nodig hebt, een kleur uit JavaScript berekent, of expliciete percentage-syntax voor leesbaarheid wilt. Kunnen hex-codes alpha / transparantie bevatten?
#RRGGBBAA) of 4-cijferige verkorte vorm (#RGBA). Het alpha-paar volgt dezelfde 0-FF-schaal: #FF573300 is volledig transparant, #FF5733FF is volledig dekkend, #FF573380 ongeveer 50%. CSS 4-cijferige hex met alpha kwam in 2018 in alle evergreen-browsers. Safari, Chrome, Firefox en Edge ondersteunen het allemaal. Als je heel oude browsers moet bedienen, val terug op rgba(), ondersteund sinds IE 9. Hoeveel kleuren kan hex weergeven?
color(display-p3 ...) om wide-gamut-waarden te adresseren. Wat is een OKLCH-kleur?
oklch()-functie toe in 2022; Chrome 111, Safari 15.4 en Firefox 113 hebben allemaal native ondersteuning. Tailwind v4 en shadcn gebruiken OKLCH voor hun standaardpaletten. Is OKLCH beter dan HSL?
hsl(60, 100%, 50%) (geel) oogt zichtbaar helderder dan hsl(240, 100%, 50%) (blauw) hoewel beide L=50% rapporteren. OKLCH's L is verankerd aan het OKLAB-perceptuele model van Björn Ottosson (2020), dus gelijke L betekent gelijke waargenomen helderheid. De praktische winst: een OKLCH-ramp levert automatisch visueel gelijkmatige stappen op; een HSL-ramp vereist handmatig per-kleurtoon-bijstellen om er goed uit te zien. Welke browsers ondersteunen oklch()?
@supports (color: oklch(0 0 0))-query om een hex-fallback te leveren, of een build-time-tool als PostCSS postcss-oklab-function om een sRGB-benadering naast de OKLCH-waarde te inlinen. Waarom OKLCH gebruiken in Tailwind v4?
blue-500- en red-500-stalen ogen nu daadwerkelijk even helder — onder het v3-HSL-systeem niet, wat designers dwong individuele stops handmatig bij te stellen. OKLCH opent ook bredere gamuts op moderne displays: een Tailwind v4-token als oklch(0.65 0.25 30) kan Display P3-roden adresseren die geen enkele hexcode kan bereiken. De build geeft nog steeds hex-fallbacks voor oudere browsers. Is OKLCH perceptueel uniform?
Hoe lees je een OKLCH-waarde?
oklch(L C H) — drie getallen, optioneel met / A voor alpha. L is Lightness van 0 (zwart) tot 1 (wit); geschreven als getal of percentage (0.6 en 60% zijn equivalent). C is Chroma van 0 (grijs) tot ongeveer 0,4 voor de meest verzadigde sRGB-kleuren; er is geen bovengrens, wide-gamut-kleuren kunnen dat overschrijden. H is Hue in graden van 0-360, hetzelfde als HSL (0/360 = rood, 120 = groen, 240 = blauw). Voorbeeld: oklch(0.629 0.193 263.4) is Tailwind blue-500. Wat is het verschil tussen gamut en kleurruimte?
Waarom valt mijn OKLCH-kleur buiten het sRGB-gamut?
oklch(0.7 0.4 30) schrijven en dat is een geldige kleur, maar de chroma overschrijdt wat sRGB's 256-per-channel byteruimte kan coderen. Op een sRGB-monitor klipt die kleur naar de dichtstbijzijnde in-gamut-benadering (meestal een gedesatureerde versie). Op een Display P3-monitor (de meeste moderne laptops, iPhones, MacBooks) rendert hij correct. Klik op Snap to sRGB om chroma te verlagen tot de kleur past, en ship de gesnapte hex als fallback naast de originele OKLCH voor wide-gamut-displays. Moet ik WCAG 2 of APCA voor contrast gebruiken?
Lc 75+ voor lopende tekst) om er zeker van te zijn dat het resultaat ook echt leesbaar oogt. Wat is het verschil tussen HSV en HWB?
hsv(0, 100%, 100%). HWB (Hue, Whiteness, Blackness) werd nogmaals door Smith gepubliceerd in 1996 als intuïtiever alternatief voor kunstenaars — je kiest een pure kleurtoon en voegt dan wit toe om lichter te maken of zwart om donkerder te maken. CSS Color 4 voegde hwb()-syntax toe; die werkt in alle evergreen-browsers. HWB is makkelijker uit te leggen ("voeg wit toe") maar HSV blijft gangbaarder in grafische software als Photoshop en Figma. Gerelateerde tools
Alle tools bekijken →Talstelsel omrekenen — online converter
Omrekentools
Reken je getal direct om tussen binair, hex, decimaal, octaal en elk talstelsel (2-36). Gratis en privé — alles draait in je browser.
chmod-calculator — Linux-bestandsrechten
Omrekentools
Reken Linux-bestandsrechten om tussen octaal (755, 644) en rwx-symbolen. Genereer kant-en-klare chmod-commando's en herken riskante instellingen zoals 777 — gratis, alles draait in je browser.
Hex naar CMYK converter
Omrekentools
Converteer HEX-kleuren naar CMYK in je browser. Naïeve sRGB-gebaseerde benadering voor printvoorbeelden. Gratis, geen account, je kleuren blijven lokaal.
Hex naar HSL converter
Omrekentools
Converteer elke hex-kleur naar HSL in je browser — 3-cijferig, 6-cijferig en 8-cijferig hex met alpha worden allemaal ondersteund. Gratis, direct, geen account, je kleuren verlaten de pagina nooit.
Hex naar OKLCH converter
Omrekentools
Converteer HEX naar OKLCH voor Tailwind v4 design-tokens. Live perceptueel-uniforme uitvoer met Display P3 gamut-waarschuwingen. Gratis, alleen in je browser.
Hex naar RGB converter
Omrekentools
Converteer elke hex-kleurcode naar RGB in je browser — 3-cijferig, 6-cijferig en 8-cijferig hex met alpha worden allemaal ondersteund. Gratis, direct, geen account, je kleuren verlaten de pagina nooit.