Hex-kleurcodes uitgelegd: zo werkt #RRGGBB
Een hex-kleurcode zoals #1e90ff bestaat uit drie paren hexadecimale cijfers: de hoeveelheid rood, groen en blauw licht, elk van 00 (niets) tot ff (vol, 255). Voeg een vierde paar toe voor de dekking: 80 betekent ongeveer 50%, ff betekent volledig dekkend.
6 min lezen
Zo werkt een hex-kleurcode
Elke kleur op een scherm wordt gemengd uit rood, groen en blauw licht. Een hexcode schrijft de sterkte van elk licht als twee tekens na het #-teken: eerst rood, dan groen, dan blauw. Dat is het patroon #RRGGBB.
De tekens zijn hexadecimaal, een manier van tellen met 16 cijfers: 0 tot en met 9, dan a (10), b (11), c (12), d (13), e (14) en f (15). Eén paar dekt 256 waarden, van 00 (0) tot ff (255), precies het bereik van rgb().
Om een paar om te zetten naar een gewoon getal, vermenigvuldig je het eerste cijfer met 16 en tel je het tweede erbij op. Hieronder staat #1e90ff, de CSS-kleur dodgerblue, in vier formaten, en daarna paar voor paar uitgerekend.
| Formaat | Waarde |
|---|---|
| HEX | |
| RGB | |
| HSL | |
| OKLCH |
| Paar | Kanaal | Berekening | Waarde |
|---|---|---|---|
| 1e | Rood | 1 × 16 + 14 | 30 |
| 90 | Groen | 9 × 16 + 0 | 144 |
| ff | Blauw | 15 × 16 + 15 | 255 |
Dus #1e90ff is rgb(30, 144, 255): een beetje rood, flink wat groen en vol blauw, samen een helder hemelsblauw. Drie paren van 256 waarden geven 16.777.216 mogelijke kleuren.
Korte hexcodes met 3 of 4 cijfers
Als beide cijfers van elk paar gelijk zijn, kun je elk paar één keer schrijven. #ffcc00 wordt #fc0, en de browser verdubbelt elk cijfer weer. #1e90ff heeft geen korte vorm, omdat 1e en 90 geen dubbele paren zijn.
De korte vorm dekt maar 4096 van de 16,7 miljoen kleuren. Een versie met vier cijfers voegt op dezelfde manier dekking toe, dus #f008 betekent #ff000088.
| Kort | Volledig | Kleur |
|---|---|---|
| #fff | #ffffff | Wit |
| #000 | #000000 | Zwart |
| #f00 | #ff0000 | Rood |
| #fc0 | #ffcc00 | Warm geel |
| #abc | #aabbcc | Grijsblauw |
| #f008 | #ff000088 | Rood met 53% dekking |
Hex-transparantie: hex met 8 cijfers en alfa
Een code met acht cijfers voegt een vierde paar toe voor alfa, de dekking: #RRGGBBAA. 00 is volledig transparant en ff volledig dekkend. Elke actuele browser ondersteunt dit in CSS, net als de korte vorm #RGBA met vier cijfers.
Om het paar te vinden, vermenigvuldig je de dekking met 255, rond je af op een heel getal en zet je dat om naar hex. 50% geeft 127,5, afgerond 128, geschreven als 80. Hier is de volledige tabel, toegepast op #1e90ff.
| Dekking | Alfa (0–255) | Hexpaar | #1e90ff met alfa |
|---|---|---|---|
| 100% | 255 | ff | #1e90ffff |
| 95% | 242 | f2 | #1e90fff2 |
| 90% | 230 | e6 | #1e90ffe6 |
| 85% | 217 | d9 | #1e90ffd9 |
| 80% | 204 | cc | #1e90ffcc |
| 75% | 191 | bf | #1e90ffbf |
| 70% | 179 | b3 | #1e90ffb3 |
| 65% | 166 | a6 | #1e90ffa6 |
| 60% | 153 | 99 | #1e90ff99 |
| 55% | 140 | 8c | #1e90ff8c |
| 50% | 128 | 80 | #1e90ff80 |
| 45% | 115 | 73 | #1e90ff73 |
| 40% | 102 | 66 | #1e90ff66 |
| 35% | 89 | 59 | #1e90ff59 |
| 30% | 77 | 4d | #1e90ff4d |
| 25% | 64 | 40 | #1e90ff40 |
| 20% | 51 | 33 | #1e90ff33 |
| 15% | 38 | 26 | #1e90ff26 |
| 10% | 26 | 1a | #1e90ff1a |
| 5% | 13 | 0d | #1e90ff0d |
| 0% | 0 | 00 | #1e90ff00 |
CSS
.overlay {
background: #00000080;
}
.overlay-same {
background: rgb(0 0 0 / 50%);
}Twee valkuilen. Ten eerste is 80 gelijk aan 128 van 255, dus 50,2% en niet precies 50%: hex-alfa heeft maar 256 stappen, dus de meeste ronde percentages zijn een benadering. Ten tweede zet Android alfa vooraan. In een Android-kleurresource betekent #801e90ff hetzelfde als #1e90ff80 in CSS.
Een hexcode op het oog lezen
Je kunt een kleur raden zonder iets om te rekenen. Kijk naar het eerste cijfer van elk paar, want dat bevat bijna alle informatie.
| CSS-naam | Hex | RGB | Zo lees je het |
|---|---|---|---|
| tomato | #ff6347 | 255, 99, 71 | Rood vol, wat groen en blauw: warm lichtrood |
| gold | #ffd700 | 255, 215, 0 | Rood en groen hoog, geen blauw: geel |
| chocolate | #d2691e | 210, 105, 30 | Rood voorop, groen half, blauw laag: oranjebruin |
| darkturquoise | #00ced1 | 0, 206, 209 | Groen en blauw hoog, geen rood: cyaan |
| dodgerblue | #1e90ff | 30, 144, 255 | Blauw voorop, groen in het midden: hemelsblauw |
| mediumorchid | #ba55d3 | 186, 85, 211 | Rood en blauw hoog, groen laag: paars |
| teal | #008080 | 0, 128, 128 | Groen en blauw op de helft: donker cyaan |
| navy | #000080 | 0, 0, 128 | Alleen blauw, op de helft: donkerblauw |
| slategray | #708090 | 112, 128, 144 | Bijna gelijk, blauw iets hoger: blauwgrijs |
- Het hoogste eerste cijfer is het overheersende licht. #d2691e heeft d bij rood, 6 bij groen en 1 bij blauw, dus het is oranjebruin.
- Twee hoge kanalen mengen: rood en groen geven geel, groen en blauw geven cyaan, rood en blauw geven magenta of paars.
- Drie gelijke paren geven grijs. #333333 is donkergrijs, #999999 lichtgrijs. Bijna gelijke paren, zoals #708090, geven een gedempte, grijzige kleur.
- Hoge cijfers betekenen een lichte kleur, lage cijfers een donkere. Zijn alle drie de paren c0 of hoger, dan is de kleur bleek. Zijn ze alle drie 30 of lager, dan is ze heel donker.
- Groen oogt veel lichter dan blauw bij hetzelfde getal. #00ff00 heeft een OKLCH-lichtheid van 0,866, #0000ff maar 0,452.
Waarom #808080 geen middengrijs is
#808080 zit qua getallen precies in het midden: 128 van 255 in elk kanaal. Toch ziet het er niet uit als het midden tussen zwart en wit. De OKLCH-lichtheid is 0,600, dus het oogt als 60% van de weg naar wit.
Hexwaarden zijn al gecodeerd met de sRGB-curve, die het oog ruwweg volgt, maar niet precies. #808080 geeft ongeveer 21,6% van het licht van wit, en perceptuele modellen leggen het visuele midden lager: OKLCH bij #636363, CIELAB bij #777777.
| Grijs | Wat het is | OKLCH L | Contrast op wit | Contrast op zwart |
|---|---|---|---|---|
| #808080 | Numeriek midden, 128 | 0.600 | 3.95:1 | 5.32:1 |
| #777777 | Midden in CIELAB, L* 50 | 0.569 | 4.48:1 | 4.69:1 |
| #767676 | Lichtste grijs met 4,5:1 op wit | 0.566 | 4.54:1 | 4.62:1 |
| #636363 | Midden in OKLCH, L 0,5 | 0.500 | 6.01:1 | 3.50:1 |
Voor tekst is dit belangrijk. Grijs #808080 op wit haalt 3,95:1 en zakt voor WCAG AA bij lopende tekst. #767676 is het lichtste grijs dat 4,5:1 haalt, en #777777, één stap lichter, zakt al met 4,48:1.
Hoofdletters of kleine letters, met of zonder #
Hexcodes zijn niet hoofdlettergevoelig. #1E90FF, #1e90ff en #1E90ff zijn dezelfde kleur in CSS, SVG en designtools. Kies één stijl en houd die overal aan, zodat je bij het zoeken in je code elk gebruik vindt. In CSS zijn kleine letters de gangbare keuze.
Het #-teken hoort bij de CSS-syntax, niet bij de kleur. Figma en veel designtools tonen de code zonder, en programmeertalen schrijven hem vaak als getal met het voorvoegsel 0x, zoals in Flutter, waar Color(0xFF1E90FF) begint met het alfapaar.
De hexcode van een kleur op je scherm vinden
Gebruik een pipet: een tool die de kleur onder je cursor uitleest en de code toont. Die zijn gratis en meestal al geïnstalleerd.
- Chrome en Edge: open DevTools met F12, klik op een kleurvakje in het paneel Styles en gebruik het pipeticoon om een kleur van de pagina te kiezen.
- PickShade: de kleurkiezer op de homepage heeft in Chrome en Edge een pipetknop die overal op het scherm een kleur oppikt.
- Windows: installeer Microsoft PowerToys en druk op Win + Shift + C om Color Picker te openen.
- macOS: open Digitale kleurmeter via Programma’s, Hulpprogramma’s. Zet hem op sRGB en kies dan in het menu Weergave dat waarden hexadecimaal worden getoond.
- Figma, Photoshop en de meeste designapps: druk op I voor het pipet.
- In een foto of screenshot: open die in de kleurkiezer voor afbeeldingen en klik op een pixel. De afbeelding blijft op je apparaat.
Een opgepikte waarde kan een paar eenheden afwijken van het origineel, omdat schermen kleurprofielen toepassen en afbeeldingen gecomprimeerd zijn. Heb je de exacte waarde nodig, kopieer die dan uit het designbestand of de CSS, niet uit een screenshot.
Vragen en antwoorden
Wat is een hex-kleurcode?
Een hex-kleurcode is een code van zes tekens, zoals #1e90ff, die een kleur beschrijft aan de hand van de hoeveelheid rood, groen en blauw licht erin. Elk paar hexadecimale cijfers loopt van 00 (0) tot ff (255), dus #1e90ff is rgb(30, 144, 255).
Hoe voeg ik transparantie toe aan een hexkleur?
Zet een vierde paar cijfers aan het eind: #RRGGBBAA. Vermenigvuldig de dekking met 255, rond af en zet om naar hex, dus 50% is 80, 25% is 40 en 75% is bf. Zo is #1e90ff80 dodgerblue met ongeveer 50% dekking.
Wat is 50% transparantie in hex?
50% dekking is in hex 80, zoals in #00000080 voor half transparant zwart. 80 is 128 van 255, dus 50,2%, omdat hex-alfa 256 stappen heeft en precies 50% tussen 7f en 80 valt.
Wat is het verschil tussen hex en RGB?
In de kleur is er geen verschil, alleen in de notatie. Hex schrijft de waarden voor rood, groen en blauw als paren in het zestientallige stelsel, rgb() als decimale getallen van 0 tot 255, dus #ff6347 en rgb(255, 99, 71) zijn hetzelfde tomatenrood.
Zijn hex-kleurcodes hoofdlettergevoelig?
Nee. #FF6347, #ff6347 en #Ff6347 zijn dezelfde kleur in CSS, HTML, SVG en designtools. De meeste CSS-codebases gebruiken kleine letters, maar elke stijl werkt, zolang je consequent bent.
Wat is de hexcode voor middengrijs?
#808080 is het numerieke midden, maar oogt lichter dan de helft, met een OKLCH-lichtheid van 0,600. Een grijs dat er precies tussen zwart en wit uitziet, ligt tussen #636363 (OKLCH L 0,5) en #777777 (CIELAB L* 50).