Skip to content

RGB naar Hex converter

Converteer RGB naar hex in je browser — integers, percentages en rgba-alpha worden allemaal ondersteund. Gratis, direct, geen account, je kleuren verlaten de pagina nooit.

Geen tracking Draait in je browser Gratis
Alle kleurconversie gebeurt lokaal in je browser. Er gaat geen data naar een server.
Gamut: sRGB Display P3 Rec2020
Contrast vs:
AA AA-Lg AAA AAA-Lg · APCA Lc
Kleurenblindheid-simulatie (8 typen)
Protanopia (rood-blind)
Deuteranopia (groen-blind)
Tritanopia (blauw-blind)
Achromatopsia (totaal)
Protanomaly (rood-zwak)
Deuteranomaly (groen-zwak)
Tritanomaly (blauw-zwak)
Achromatomaly (gedeeltelijk)
Tints / Shades / Tones / Harmonies

Tints

Shades

Tones

Harmonies

Copy as code
Referentie van gangbare kleuren
Beoordeeld op CSS Color 4-conformiteit, ondersteuning van integer + percentage + alpha RGB-invoer, juistheid van 8-cijferige hex-alpha-emissie, en round-trip-bit-exactheid tussen RGB en HEX over het 0-255-bereik. — Go Tools Engineering Team · May 27, 2026

Wat is een RGB naar Hex converter?

Een RGB naar hex converter is een klein hulpmiddel dat drie 0-255 integer-channelwaarden (`rgb(255 87 51)`) omzet in de 6-tekens hex-code die dezelfde kleur codeert (`#FF5733`). RGB en hex zijn de twee formaten waar elke webstylesheet, designtool en image-pixel-pipeline sinds eind jaren 90 omheen is gebouwd, en de conversie ertussen is de meest voorkomende operatie in color tooling — gekoppeld aan zijn omgekeerde richting draait deze exacte transform miljoenen keren per dag over elke Figma-plugin, CSS-preprocessor, design-token-build en color-picker-UI op het web. RGB is het channel-geadresseerde formaat dat hardware-API's, canvas-tekenaanroepen, image-buffer-manipulatie, OpenGL-kleurattributen en de meeste graphics-SDK's native rapporteren — drie aparte 0-255-integers die direct mappen op de rode, groene en blauwe subpixels van een LCD of de fosforen van een CRT. Hex is het beknopte copy-paste-formaat dat Figma, Sketch, Photoshop en elke brand-guidelines-PDF verwachten voor uitvoer — een 6-tekens grondtal-16-string die comfortabel in een CSS custom property past en in één oogopslag leesbaar is zodra je oog de patronen leert. Converteren ertussen is mechanisch: converteer elk integer naar een 2-cijferig grondtal-16-paar en plak aan elkaar met een leidende `#`. Deze tool draait die conversie live terwijl je typt, zonder "Converteren"-knop om op te klikken, en toont elk ander gangbaar kleurformaat (HSL, OKLCH, OKLAB, HSV, HWB, CMYK, plus de 148 CSS named colors) gratis naast de HEX-uitvoer.

**Het hex-formaat zelf verdient nadere beschouwing.** Standaard CSS-hex komt in vier legale vormen. De canonieke 6-cijferige vorm `#RRGGBB` pakt drie 8-bit channels in 6 grondtal-16-cijfers — in totaal 16.777.216 kleuren (256³). De 3-cijferige verkorte vorm `#RGB` is een gecomprimeerde vorm waarbij elk cijfer wordt verdubbeld om het 6-cijferige equivalent te vormen: `#F73` breidt uit naar `#FF7733`, *niet* `#000F73` (dit is een van de meest-misbegrepen regels in CSS-kleursyntax). De 8-cijferige alpha-vorm `#RRGGBBAA` voegt een 2-cijferig alpha-paar toe op een 0-`FF`-schaal, met `00` volledig transparant en `FF` volledig dekkend. De 4-cijferige alpha-verkorte vorm `#RGBA` mirrort de 3-cijferige verkorte vorm door elk cijfer te verdubbelen, inclusief het alpha-cijfer. Hex is hoofdletter-ongevoelig — `#ff5733` en `#FF5733` parsen identiek, hoewel de meeste brand guidelines een hoofdletter-conventie kiezen en daar bij blijven. De keuze voor grondtal 16 is handig omdat één hex-cijfer = nibble = 4 bits, twee cijfers = byte = 0-255, dus een enkel 2-cijferig paar mapt schoon op één 8-bit channel zonder padding-verspilling.

De conversie-wiskunde gaat schoon in beide richtingen. **RGB naar HEX**: voor elke channel roep je `value.toString(16).padStart(2, '0')` aan om het 2-cijferige hex-paar te krijgen (het `padStart` is belangrijk — zonder dat zou channel-waarde 5 serialiseren als `'5'` in plaats van `'05'`, wat ongeldige hex oplevert), en plak je ze daarna aan elkaar. Voor RGB met alpha (`rgb(R G B / A)` of `rgba(R, G, B, A)`) vermenigvuldig je de 0-1 alpha-float met 255, rond je af naar het dichtstbijzijnde integer, codeer je als hex als 4e paar, en emit je de 8-cijferige vorm. **HEX naar RGB** is het omgekeerde: parse de 6-cijferige hex `#RRGGBB` als drie 2-cijferige grondtal-16-getallen via `parseInt(hex.slice(1, 3), 16)`, enz. Beide richtingen zijn bit-exact: 16² = 256, precies passend op de 0-255 byte-range die elke channel inneemt, dus een RGB → HEX → RGB round-trip produceert de originele integers letterlijk zonder float-drift.

**Waarom HEX boven RGB in CSS?** Drie redenen. Hex is korter — `#FF5733` is 7 tekens versus `rgb(255, 87, 51)` op 16 tekens, een betekenisvol verschil wanneer gepakt in een CSS custom property of een Tailwind-configobject. Hex heeft geen whitespace-bugs — CSS-minifiers, JSON-serializers en command-line-tools handelen een 7-tekens-string allemaal schoon af zonder zich zorgen te hoeven maken over haakjes-matching of komma-escaping. En hex is het formaat dat het hele design-tool-ecosysteem native spreekt — Figma's kleurpaneel, Sketch's swatches, Photoshop's color picker, elke brand-guidelines-PDF, elke kleurcallout op een Dribbble-shot — ze exporteren allemaal standaard hex. Het copy-paste-pad van designer naar developer is hex-vormig, en daarom is de RGB-naar-HEX-conversie zo frequent: developers ontvangen RGB van een niet-designtool (een canvas-aanroep, een screenshot-eyedropper, een hardware-sensor) en moeten het omzetten naar de hex-vorm die de rest van hun stack verwacht.

Deze tool's RGB → HEX-workflow is één richting van een 5-spoke-familie die allemaal dezelfde onderliggende unified color converter delen. De aparte unified color converter is de hub — hij toont alle 9 formaten tegelijk bewerkbaar en is de juiste tool wanneer je workflow meer dan alleen RGB en hex nodig heeft. De eenrichtings-spokes richten zich op specifieke Google-zoekintenties: de omgekeerde hex naar RGB converter voor de inverse richting (een hex uit Figma nemen en de 0-255-integers eruit halen), de hex naar HSL converter voor de legacy designer-cognitieve ruimte, de hex naar OKLCH converter voor moderne perceptueel-uniforme design systems (Tailwind v4 en shadcn defaulten nu allebei naar OKLCH), en de hex naar CMYK converter voor printvoorbereidings-benaderingen. Alle vijf spokes en de hub delen dezelfde parsing engine en dezelfde conversie-wiskunde, dus de resultaten zijn gegarandeerd identiek over de familie. Elke conversie draait lokaal in je browser — je RGB-waarden worden nooit geüpload, nooit gelogd, en nul netwerkverzoeken vuren terwijl je typt. Verifieer in DevTools.

// Serialize {r, g, b, alpha} → canonical hex string
// Emits 6-digit #RRGGBB when alpha === 1, 8-digit #RRGGBBAA otherwise.
function formatHex({ r, g, b, alpha = 1 }) {
  const pair = (v) => Math.round(v).toString(16).padStart(2, '0').toUpperCase();
  const rgb = pair(r) + pair(g) + pair(b);
  if (alpha >= 1) return `#${rgb}`;
  const a = pair(alpha * 255);
  return `#${rgb}${a}`;
}

console.log(formatHex({ r: 255, g: 87, b: 51 }));              // '#FF5733'
console.log(formatHex({ r: 59, g: 130, b: 246 }));             // '#3B82F6'
console.log(formatHex({ r: 255, g: 87, b: 51, alpha: 0.5 })); // '#FF573380'
console.log(formatHex({ r: 5, g: 0, b: 0 }));                  // '#050000' — padStart matters

Kernfuncties

Alle RGB-invoervormen identiek geparseerd

Modern ruimte-gescheiden `rgb(255 87 51)`, legacy komma-gescheiden `rgb(255, 87, 51)`, percentagechannels `rgb(100% 34% 20%)`, moderne alpha via slash `rgb(255 87 51 / 0.5)`, en legacy `rgba(255, 87, 51, 0.5)` parsen allemaal identiek. De parser normaliseert elke invoervorm naar dezelfde interne RGB-tuple voor hex-serialisatie, zodat je elke vorm die je bron produceert kunt plakken — de integer-triple van Photoshop, de `rgba()` van een stylesheet, een tuple uit de Canvas API — zonder handmatig opnieuw te formatteren.

Hex-uitvoer in hoofdletters in 6- of 8-cijferige vorm

Het HEX-veld toont de waarde als `#FF5733` voor dekkende kleuren en `#FF573380` voor kleuren met alpha (8-cijferige vorm). Standaard hoofdletters voor consistentie met de meeste brand guidelines; één mechanische replace schakelt naar kleine letters als je stijlgids dat vereist. Beide vormen zijn geldige CSS en shippen in alle evergreen-browsers. De 8-cijferige alpha-vorm kwam in 2018 in alle grote browsers; voor IE 11-fallback staat de legacy `rgba()`-vorm meteen klaar in het RGB-veld.

Bit-exact, geen float-drift

RGB → HEX is integer-naar-string-wiskunde: `value.toString(16).padStart(2, '0')` produceert het canonieke 2-cijferige hex-paar zonder float-betrokkenheid. De omgekeerde richting (`parseInt(pair, 16)`) is even exact. Een round-trip RGB → HEX → RGB → HEX produceert de originele invoer letterlijk, voor onbepaalde tijd. Doordat OKLCH intern de bron van waarheid is, blijft zelfs de langere keten RGB → HSL → OKLAB → HEX bit-stabiel, wat legacy-converters die via HSL routen niet garanderen.

Alpha-channel schoon gecodeerd

RGB met alpha (`rgb(255 87 51 / 0.5)` of `rgba(255, 87, 51, 0.5)`) emit automatisch de 8-cijferige hex-vorm (`#FF573380`). De alpha-float vermenigvuldigt met 255 en wordt afgerond naar het dichtstbijzijnde integer voor hex-codering: `0.5 × 255 = 128 = 0x80`. De uitvoer valt terug op 6-cijferige hex wanneer alpha gelijk is aan 1 om te voorkomen dat trailing `FF`-paren in stylesheets lekken. Handig voor design-token-migratie waarbij alpha-waarden in `rgba()` heen en weer moeten naar moderne 8-cijferige hex-vorm.

Acht andere formaten tegelijk zichtbaar

Dezelfde RGB die je plakt drijft ook HSL, HSV, HWB, OKLCH, OKLAB, CMYK en de dichtstbijzijnde CSS named color — allemaal in één oogopslag op dezelfde pagina zichtbaar. Je zit nooit alleen vast aan RGB → hex. Als een teamgenoot de OKLCH-triple nodig heeft voor een Tailwind v4-token, de dichtstbijzijnde named color voor documentatie-proza, of de CMYK-benadering voor een printofferte, staan de waarden er al met hun eigen Kopiëren-knoppen.

WCAG + APCA contrast ingebouwd

Geef een RGB-tuple door en de contrastrij scoort hem direct tegen zowel wit als zwart via WCAG 2.1 (regelgevende ondergrens: 4,5:1 voor lopende tekst, 7:1 voor AAA) en APCA Lc (voorgestelde WCAG 3-opvolger: target `|Lc| ≥ 75` voor lopende tekst). Handig als je net een RGB-tuple naar hex hebt geconverteerd en wilt verifiëren dat de resulterende merkkleur echt leesbaar is als kleur voor lopende tekst voor je 'm ship.

Copy as CSS / Tailwind v4 / SwiftUI / Compose / Flutter

Onder de picker zet de sectie Copy as code de huidige kleur om in plak-klare snippets voor vijf platforms: CSS custom property (`--color-brand: #FF5733`), Tailwind v4 `@theme`-token, SwiftUI `Color(red:green:blue:)`-literal, Jetpack Compose `Color(0xFFFF5733)`-constante, Flutter `Color(0xFFFF5733)`. De exacte syntax die elk platform verwacht, klaar om te droppen in een iOS-asset catalog, Android-themabestand of Flutter `ThemeData`.

100% in-browser — geen upload, geen tracking

Alle RGB-parsing, hex-serialisatie, contrastscoring en paletgeneratie draait lokaal in je browser. Je RGB-waarden worden nooit verzonden, nooit gelogd op een server, nooit geanalyseerd. Nul netwerkverzoeken terwijl je typt — verifieer in DevTools. Veilig voor onaangekondigde merkpaletten, interne design tokens, concept-mockups onder NDA, en al het andere vertrouwelijke kleurwerk.

Deelbare URL-hash voor de exacte kleur

De huidige kleur codeert automatisch in de URL-hash als `#hex=ff5733` bij elke wijziging. Kopieer de URL, plak in een Slack-thread of een GitHub-issue, en iedereen die hem opent landt op dezelfde RGB-tuple met hetzelfde hex-resultaat. De hash leeft alleen in je adresbalk en wordt nooit naar de server verzonden (browsers nemen URL-fragmenten niet op in HTTP-verzoeken), dus zelfs het delen van de link lekt de kleur niet naar enige derde partij.

Alternatieven voor de RGB naar Hex converter

RapidTables RGB to Hex

browsertool

Het standaard-Google-resultaat voor "rgb to hex" — een eenrichtings-formulier met drie RGB-nummervakjes erin, hex eruit, geen andere formaten zichtbaar. Handig voor eenmalige opzoekingen wanneer je vanuit zoekresultaten arriveert. Mist OKLCH, contrastchecking, gamutdetectie, alpha-afhandeling en de multi-formaat simultane weergave. Deze tool wint op elke as behalve het bare-bones eenmalige-conversie-geval.

ColorHexa

browsertool

Langlopende per-kleur SEO-pagina's met diepe metadata: conversies, paletten, harmonies, gradients voor elke RGB die je opvraagt. UI is gedateerd (begin jaren 2010), geen OKLCH-ondersteuning, geen APCA-contrast, geen wide-gamut-afhandeling. Sterk voor SEO-vondsten van een specifieke kleur via Google; zwakker voor actieve conversie-workflows waar typen in een unified-field-UX sneller is.

W3Schools RGB Calculator

browsertool

Beginnervriendelijke HEX/RGB/HSL-toggle op een onderwijs-georiënteerde pagina, alomtegenwoordig in zoekresultaten. Geen OKLCH, geen alpha-afhandeling buiten rgba, geen geavanceerde features. Handig als referentie naast W3Schools' uitleg-content. Deze tool wint op elke andere as: meer formaten, perceptuele wiskunde, gamut + contrast + CVD-features, moderne code-export voor Tailwind v4 / SwiftUI / Compose / Flutter.

Browser DevTools Color Picker

ingebouwde browserfeature

Chrome, Firefox en Safari DevTools shippen allemaal een color picker die RGB inline naar hex converteert als je op een kleurstaal in het CSS-paneel klikt. Gratis, geen installatie, altijd beschikbaar. Mist OKLCH, mist deelbare URL's, mist code-export voor niet-webplatforms (SwiftUI, Compose). Pak DevTools als je al CSS debugt; pak deze tool als je cross-platform-uitvoer nodig hebt.

macOS Digital Color Meter

native macOS-app

Meegeleverd met elke Mac sinds OS X — hover over een willekeurige pixel en lees de RGB- / hex- / linear-waarden af. Uitstekend voor het samplen van pixelkleuren uit elke app op het scherm. Accepteert geen geplakte RGB-triples voor conversie; het is een scherm-sampler, geen converter. Gebruik de EyeDropper-knop in de picker van deze tool (alleen Chromium-browsers) voor dezelfde scherm-samplingcapaciteit binnen de browser.

ConvertingColors

browsertool

Per-kleur SEO-pagina's met veel ruimtes (HEX, RGB, HSL, HSV, CMYK, XYZ, CIELAB). Mist moderne OKLCH-ondersteuning en de unified-field-bewerkings-UX. Auto-gegenereerde contentpagina's voelen contentfarm-achtig aan, maar de conversiedata is correct. Goed voor het verkennen van individuele kleurmetadata via Google; deze tool is sneller voor actieve workflows.

Voorbeelden van RGB naar Hex

Invoer uit CSS rgb() → hex voor SwiftUI

rgb(255 87 51)

HEX-uitvoer: `#FF5733`. De klassieke cross-platform workflow — een CSS-stylesheet declareert een merkkleur in moderne `rgb()`-syntax, het iOS-team heeft de hex nodig om in een SwiftUI `Color(hex:)`-extension of een asset catalog te droppen. Elke channel converteert onafhankelijk: `255 → FF`, `87 → 57`, `51 → 33`, aaneengeplakt met een leidende `#`. Dezelfde hex plakt ook schoon in Android Compose, Flutter en Figma — hex blijft in 2026 de lingua franca voor cross-platform kleuroverdracht.

Photoshop RGB-integers van designer → CSS-variabele

rgb(59 130 246)

HEX-uitvoer: `#3B82F6`. Adobe's Color picker rapporteert RGB als drie 0-255-integers (in Photoshop, Illustrator en InDesign); het front-end-team heeft de hex nodig om in een CSS custom property zoals `--color-brand: #3B82F6` te droppen. Deze specifieke triple is Tailwind's `blue-500` — `59 = 0x3B`, `130 = 0x82`, `246 = 0xF6`. Eén keer hier plakken levert de matchende hex op plus de OKLCH-triple voor Tailwind v4-tokenmigratie, allemaal in één stap.

RGB met alpha → 8-cijferige hex

rgb(255 87 51 / 0.5)

HEX-uitvoer: `#FF573380`. De alpha-float vermenigvuldigt met 255 (`0.5 × 255 = 127.5`, afgerond naar 128), converteert daarna naar een 2-cijferig hex-paar (`128 = 0x80`) toegevoegd na de RGB-hex. CSS 8-cijferige hex met alpha kwam in 2018 native in alle evergreen-browsers (Chrome 62, Firefox 49, Safari 9.1, Edge 79). Voor pre-2018-browserondersteuning is de legacy-vorm `rgba(255, 87, 51, 0.5)` nog steeds beschikbaar; de conversie is mechanisch en behoudt exact dezelfde kleur.

Procent-RGB-channels → hex

rgb(100% 50% 0%)

HEX-uitvoer: `#FF8000`. CSS Color 4 staat percentagechannels toe — elk percentage mapt op het 0-255-bereik met `value × 255 / 100`, en wordt daarna afgerond naar het dichtstbijzijnde integer (`50% × 255 = 127.5 → 128 = 0x80`). Percent- en integer-vormen zijn uitwisselbaar en produceren identieke hex-uitvoer. De procent-syntax wordt soms verkozen in handgeschreven stylesheets voor leesbaarheid wanneer channel-verhoudingen er meer toe doen dan ruwe integer-waarden; de hex-uitvoer normaliseert beide invoeren naar dezelfde canonieke 6-cijferige string.

Gangbare RGB → Hex conversies

Referentietabel van de 10 meest-geconverteerde RGB-tuples en hun hex-equivalenten — pure primaire kleuren, pure secundaire kleuren, en twee echte merkkleuren uit het Tailwind-palet.

Zwart

rgb(0 0 0) #000000

Puur zwart. Alle drie de channels op nul — de afwezigheid van uitgezonden licht. Hex-code (#000000).

rgb(0 0 0) #000000

Puur zwart op een scherm is zelden de juiste designkeuze — probeer `#111` of OKLCH-lightness 0,1-0,15 voor zachtere lopende tekst.

OKLCH nodig in plaats daarvan? Probeer de aparte hex naar OKLCH converter voor perceptueel-uniforme uitvoer.

Wit

rgb(255 255 255) #FFFFFF

Puur wit. Alle drie de channels op hun maximumwaarde (255). De helderste kleur in sRGB.

rgb(255 255 255) #FFFFFF

Puur witte achtergronden kunnen oogvermoeidheid produceren in donkere omgevingen — overweeg `#fafafa` of OKLCH 0,98 voor warmere alternatieven.

OKLCH nodig in plaats daarvan? Probeer de aparte hex naar OKLCH converter voor perceptueel-uniforme uitvoer.

Rood

rgb(255 0 0) #FF0000

Puur rood. R-channel op maximum, G en B op nul. De eerste van de drie sRGB-primaire kleuren.

rgb(255 0 0) #FF0000

Puur rood is sterk verzadigd en past zelden in een merkpalet — de meeste "rode" merkkleuren liggen dichter bij #DC2626 of #E53935.

OKLCH nodig in plaats daarvan? Probeer de aparte hex naar OKLCH converter voor perceptueel-uniforme uitvoer.

Groen

rgb(0 255 0) #00FF00

Puur groen. G-channel op maximum, R en B op nul. CSS named color `lime` (niet `green`, dat is #008000).

rgb(0 255 0) #00FF00

Het CSS-keyword `green` lost op naar #008000 (half-helder), niet #00FF00 — een veelvoorkomende bron van verwarring. Gebruik `lime` voor puur RGB-groen.

OKLCH nodig in plaats daarvan? Probeer de aparte hex naar OKLCH converter voor perceptueel-uniforme uitvoer.

Blauw

rgb(0 0 255) #0000FF

Puur blauw. B-channel op maximum, R en G op nul. De derde sRGB-primaire kleur.

rgb(0 0 255) #0000FF

Puur blauw op een witte achtergrond haalt WCAG AA-contrast niet (3,7:1) — overweeg donkerdere merkblauwen zoals #1D4ED8 (Tailwind blue-700) voor lopende tekst.

OKLCH nodig in plaats daarvan? Probeer de aparte hex naar OKLCH converter voor perceptueel-uniforme uitvoer.

Cyaan

rgb(0 255 255) #00FFFF

Cyaan — groen en blauw op maximum, rood op nul. Een van de drie sRGB-secundaire kleuren. CSS named color `cyan` (of equivalent `aqua`).

rgb(0 255 255) #00FFFF

Cyan en aqua zijn exacte synoniemen in CSS — beide lossen op naar #00FFFF. Kies één en blijf consistent in je stylesheet.

OKLCH nodig in plaats daarvan? Probeer de aparte hex naar OKLCH converter voor perceptueel-uniforme uitvoer.

Magenta

rgb(255 0 255) #FF00FF

Magenta — rood en blauw op maximum, groen op nul. CSS named color `magenta` (of equivalent `fuchsia`).

rgb(255 0 255) #FF00FF

Magenta en fuchsia zijn exacte synoniemen in CSS — beide lossen op naar #FF00FF. Gangbaar in testpatronen en developer-tool-overlays.

OKLCH nodig in plaats daarvan? Probeer de aparte hex naar OKLCH converter voor perceptueel-uniforme uitvoer.

Geel

rgb(255 255 0) #FFFF00

Geel — rood en groen op maximum, blauw op nul. De helderste van de drie sRGB-secundaire kleuren naar waargenomen luminantie.

rgb(255 255 0) #FFFF00

Geel is de hoogste-luminantie niet-witte kleur op het scherm — gele tekst op witte achtergronden is bijna onzichtbaar, ook al oogt de hex prima op papier.

OKLCH nodig in plaats daarvan? Probeer de aparte hex naar OKLCH converter voor perceptueel-uniforme uitvoer.

Tailwind blue-500

rgb(59 130 246) #3B82F6

Tailwind CSS's standaard blue-500-merkkleur — het canonieke "webblauw" van midden jaren 2020. Gebruikt in talloze dashboards, marketingsites en admin-tools.

rgb(59 130 246) #3B82F6

Tailwind v4 herdefinieert blue-500 in OKLCH (`oklch(0.629 0.193 263.4)`) voor perceptueel-uniforme ramps — de hex blijft hetzelfde als fallback.

OKLCH nodig in plaats daarvan? Probeer de aparte hex naar OKLCH converter voor perceptueel-uniforme uitvoer.

Tailwind rose-500

rgb(244 63 94) #F43F5E

Tailwind CSS's standaard rose-500 — een hoog-verzadigd roze-rood dat vaak wordt gebruikt voor accentknoppen, alert-states en merkcontrast.

rgb(244 63 94) #F43F5E

Rose-500 haalt WCAG AA (4,6:1) tegen wit voor grote tekst maar niet voor lopende tekst — combineer met rose-600 (#e11d48) of donkerder voor lopende tekst op wit.

OKLCH nodig in plaats daarvan? Probeer de aparte hex naar OKLCH converter voor perceptueel-uniforme uitvoer.

Zo gebruik je de RGB naar Hex converter

  1. 1

    Typ of plak een RGB-tuple in het RGB-veld

    Drop elke `rgb()`-waarde in het RGB-invoerveld — moderne ruimte-gescheiden `rgb(255 87 51)`, legacy-komma `rgb(255, 87, 51)`, met alpha via slash `rgb(255 87 51 / 0.5)` of via de `rgba(255, 87, 51, 0.5)`-vorm, of percentagechannels `rgb(100% 34% 20%)`. De tool normaliseert alle invoervormen naar dezelfde interne RGB-tuple voor het berekenen van hex. Ongeldige tekens, integers buiten het bereik, of verkeerde syntax produceren een rustige inline foutmelding; geldige RGB werkt elk ander formaatveld in realtime bij.

  2. 2

    Lees de hex-code af in het HEX-veld

    Het HEX-veld boven het RGB-veld toont de matchende hex-waarde: `#FF5733` voor een dekkende kleur, `#FF573380` voor een kleur met alpha (8-cijferige vorm). De uitvoer gebruikt standaard hoofdletter-hex-cijfers voor consistentie met de meeste brand guidelines; kleine letters (`#ff5733`) zijn één mechanische replace verwijderd en even geldige CSS. De conversie is bit-exact — een round-trip RGB → HEX → RGB herstelt de originele tuple letterlijk zonder float-drift.

  3. 3

    Klik op Kopiëren om de hex-string te pakken

    Elke formaatkaart heeft een Kopiëren-knop aan de rechterkant. Eén klik en de waarde belandt op je klembord — het knoplabel springt kort op "Gekopieerd!" zodat je het weet. De gekopieerde string bevat de leidende `#` zodat hij rechtstreeks plakt in een CSS-regel, een Figma-kleurveld, een SwiftUI hex-extension, of een Android `colors.xml`. Voor platformspecifieke syntax (SwiftUI `Color(red:green:blue:)`, Compose `Color(0xFF...)`, Tailwind v4 `@theme`-tokens) gebruik je de sectie Copy as code onder de picker.

  4. 4

    Ook zichtbaar: HSL, OKLCH, OKLAB, CMYK, named color

    Dezelfde RGB die je plakt licht ook de andere formaatvelden op — HSL voor legacy CSS, OKLCH en OKLAB voor perceptueel-uniforme design systems, HSV en HWB voor designer-color-picker-workflows, CMYK voor printschattingen, en de dichtstbijzijnde CSS named color voor documentatie en proza. Je zit nooit alleen vast aan RGB → hex; als je ook de OKLCH-triple nodig hebt voor een Tailwind v4 `@theme`-blok, staat die meteen in het OKLCH-veld met zijn eigen Kopiëren-knop.

  5. 5

    Gebruik de picker voor visuele aanpassingen

    Onder de formaatgrid zit een SL-vierkant + hue-slider + alpha-slider voor visuele exploratie. Sleep een control en elk tekstveld werkt in realtime bij, inclusief de RGB en HEX waarmee je begon. Op Chromium-gebaseerde browsers (Chrome, Edge, Brave) activeert de EyeDropper-knop de native `EyeDropper`-API om elke pixel op het scherm te samplen, ook buiten het browserscherm — handig als je een RGB-tuple wilt pakken uit de UI van een andere app zonder eerst een screenshot te maken, en daarna direct de hex aflezen.

Veelgemaakte fouten bij RGB / Hex

padStart vergeten bij het serialiseren van RGB naar hex

RGB naar hex converteren vereist dat elke channel's `toString(16)` wordt left-padded naar 2 cijfers. Zonder `padStart(2, '0')` produceren enkele-cijfer-channel-waarden ongeldige hex: `rgb(5, 87, 51)` zou serialiseren als `#55733` (5 tekens) in plaats van `#055733` (6 tekens). Veel ad-hoc-converters slaan de pad over en produceren gebroken uitvoer voor elke channel onder 16. Het standaard-idioom is `value.toString(16).padStart(2, '0')` voor elk van R, G, B, en daarna aan elkaar plakken en `#` ervoor zetten.

✗ Fout
padStart overslaan:
[5, 87, 51].map(v => v.toString(16)).join('') → '55733'
Produceert ongeldige 5-tekens-hex.
✓ Correct
Gebruik padStart(2, '0'):
[5, 87, 51].map(v => v.toString(16).padStart(2, '0')).join('') → '055733'
Geldige 6-tekens-hex; werkt correct voor alle channel-waarden 0-255.

Vergeten float-RGB af te ronden voor hex-codering

Wanneer de RGB-tuple van een genormaliseerde 0-1-float komt die vermenigvuldigd is met 255 (gangbaar in OpenGL, SwiftUI, genormaliseerde beelddata), is het resultaat vaak een float zoals `127.5` of `204.7`. `toString(16)` aanroepen op een float produceert decimale hex zoals `'7f.8'` of `'cc.b333...'`, wat geen geldige CSS-hex is. Rond de float altijd `Math.round` (of `Math.floor`/`Math.ceil` per je afrondingsbeleid) naar een integer voor de `toString(16)`-stap.

✗ Fout
Afronding overslaan:
(0.5 * 255).toString(16) → '7f.8'
Produceert ongeldige hex met een decimaalteken.
✓ Correct
Rond eerst naar integer:
Math.round(0.5 * 255).toString(16).padStart(2, '0') → '80'
Geldig 2-cijferig hex-paar; matcht CSS Color 4-normalisatie.

8-cijferige hex-alpha-volgorde verwarren

CSS 8-cijferige hex is `#RRGGBBAA` — alpha is het *laatste* paar. Sommige kleurbibliotheken (vooral oudere Android `Color.parseColor()`) gebruiken de tegenovergestelde volgorde `#AARRGGBB` met alpha als *eerste* paar, wat incompatibel is met CSS-hex. Een RGB-waarde met 50% alpha geserialiseerd naar CSS-hex emit `#FF573380`; geëmit naar Android's leading-alpha-formaat zou het `#80FF5733` zijn. Verifieer altijd de alpha-volgorde van het doelplatform voor je 8-cijferige hex produceert.

✗ Fout
Emit Android leading-alpha-hex naar CSS:
rgb(255 87 51 / 0.5) → #80FF5733 (Android-formaat)
CSS parset als alpha=128, R=255, G=87, B=51 — totaal verkeerde kleur.
✓ Correct
Gebruik het gedocumenteerde formaat van het doelplatform:
voor CSS: #FF573380 (alpha als laatste byte)
voor Android Compose: Color(0x80FF5733) (alpha als eerste byte)
Kruisplak niet tussen de twee zonder opnieuw te ordenen.

RGB-channels direct middelen voor blending

RGB-channels zijn gamma-encoded, niet lineair. Het middelen van twee RGB-waarden geeft een perceptueel-verkeerd middelpunt. `(255, 0, 0)` gemiddeld met `(0, 255, 0)` produceert `(127, 127, 0)`, een troebele donkere olijfkleur, niet het heldere geel-middelpunt dat je zou verwachten van het mengen van rood en groen licht. Voor correcte blending decodeer je eerst naar linear-RGB via de sRGB-transferfunctie (CSS Color 4 §11.2), middel je in lineaire ruimte, en codeer je vervolgens opnieuw. Of werk in OKLAB / OKLCH waar perceptuele afstand uniform is.

✗ Fout
Gamma-encoded RGB direct middelen:
(rgb(255,0,0) + rgb(0,255,0)) / 2 = rgb(128, 128, 0)
Oogt als donkere olijfkleur, niet helder geel.
✓ Correct
Middelen in linear-RGB:
decodeer → linear-RGB → middel → codeer opnieuw → rgb(188, 188, 0)
Zichtbaar helder geel, matchend met wat fysieke lichtmenging produceert.

Wie gebruikt RGB naar Hex

Frontend-devs converteren canvas-RGB naar CSS-hex
Canvas API-tekenfuncties rapporteren en accepteren kleuren als RGB-tuples (`ctx.fillStyle = 'rgb(255 87 51)'`), maar de omliggende CSS-stylesheet wil hex-variabelen (`--color-fill: #FF5733`). De RGB één keer plakken levert de matchende hex op, klaar om in een CSS custom property te droppen. Handig bij het extraheren van merkkleuren uit een canvas-gerenderde grafiek of datavisualisatie voor hergebruik in statische UI.
Designers converteren Photoshop-RGB naar Figma-hex
Adobe's Color picker (in Photoshop, Illustrator en InDesign) rapporteert RGB als drie 0-255-integers over drie channel-vakjes. Figma daarentegen toont kleurwaarden standaard als hex in zijn designpanelen. Plak de drie Photoshop-integers als `rgb(...)` hier, kopieer de hex-uitvoer, drop in Figma's kleurveld. Matcht de originele Photoshop-kleur exact zonder de omweg via screenshot en eyedropper.
Hardware-devs converteren LED-sensor-RGB naar web-hex
Adresseerbare LED-strips, kleursensoren en hardware-RGB-camera's rapporteren allemaal channel-waarden als 0-255-integers. Wanneer de metingen een webdashboard moeten aandrijven ("de lamp gloeit nu in deze kleur"), is de matchende hex-code wat het CSS `style="background: ..."`-attribuut verwacht. Plak de RGB-triple van de sensor, kopieer de hex, plug in de dashboard-markup.
Game-devs exporteren Unity-kleur naar web-mockup
Unity's `Color`- en Unreal's `FLinearColor`-constructors nemen genormaliseerde 0-1-floats; elke vermenigvuldigen met 255 geeft de matchende RGB-integers. Plak het resulterende `rgb(...)` hier, kopieer de hex, drop in de web-mockup of marketingsite die de in-game accentkleur exact moet matchen. De simultane OKLCH-weergave toont ook de waargenomen helderheid zodat het mockup-palet met de hand kan worden afgestemd op de helderheidsniveaus van het spel.
Toegankelijkheidsengineers auditen Photoshop-merkkleuren
Wanneer de merk-stijlgids kleuren rapporteert als RGB-integer-triples ("het merkoranje is RGB 255 / 87 / 51") maar de WCAG-audittool hex-codes wil, is deze converter de brug. Plak de RGB-triple, kopieer de hex, draai door de audit. De WCAG- en APCA-contrast-badges in deze tool tonen ook het verdict in één stap, zodat je niet tussen drie aparte tools hoeft te springen.
E-mail-devs migreren rgba() naar 8-cijferige hex
Moderne e-mailclient-HTML ondersteunt 8-cijferige hex (`#FF573380`) voor kleuren met alpha, maar legacy-sjablonen slaan dezelfde waarde vaak op als `rgba(255, 87, 51, 0.5)`. De rgba() hier plakken en de 8-cijferige hex-uitvoer aflezen maakt de migratie mechanisch. Het HEX-veld toont `#FF573380` voor het 50%-alpha-geval; de legacy `rgba()`-vorm blijft in het RGB-veld voor fallback-contexten die het nog nodig hebben.
Developers documenteren merk-tokens met beide formaten
Design-token-documentatie toont vaak dezelfde kleur in beide RGB- en hex-vormen: hex voor het CSS-codeblok, RGB voor de proza-vermelding ("het merkoranje is `#FF5733`, equivalent aan RGB 255 / 87 / 51"). Beide naast elkaar zichtbaar laat een doc-schrijver elk in één pass kopiëren in plaats van twee aparte tools te draaien. Met de deelbare URL-hash kunnen lezers ook doorklikken naar de exact besproken kleur.
QA-engineers asserteren pixel-kleuren tegen hex-specs
Visuele-regressietests pakken soms pixelkleuren als RGB-integers (`expect(pixel).toMatchRgb([255, 87, 51])`), terwijl de onderliggende spec in hex wordt gegeven ("buttons moeten als `#FF5733` renderen"). De vastgelegde RGB hier plakken levert de matchende hex op, die de QA-engineer rechtstreeks kan vergelijken met de spec. De bit-exactheid van de conversie betekent dat de vergelijking niet flakey wordt door float-drift-verschillen.

Wiskunde & serialisatie van RGB naar Hex

toString(16).padStart(2, '0') is de one-line-implementatie
De hele RGB-naar-hex-conversie past in één expressie per channel: `value.toString(16).padStart(2, '0')`. JavaScript's `toString(16)` converteert een decimaal integer naar zijn grondtal-16-string-representatie. Het `padStart(2, '0')` is het makkelijk-te-vergeten detail — zonder dat zou channel-waarde 5 serialiseren als `'5'` in plaats van `'05'`, wat een ongeldige 5-tekens-hex zoals `#55733` oplevert wanneer aan elkaar geplakt met de andere channels. Het standaard-idioom is `[r, g, b].map(v => v.toString(16).padStart(2, '0')).join('')` gevolgd door een `'#'`-prefix.
Percentage-normalisatie: × 255 / 100, daarna afronden
CSS Color 4 staat percentagechannels toe in `rgb()`: `rgb(100% 34% 20%)` is equivalent aan `rgb(255 87 51)`. De normalisatieregel is `Math.round(percent × 255 / 100)`. `50% × 255 / 100 = 127,5` rondt af naar 128 (banker's rounding weg van .5). Dezelfde regel geldt voor alpha wanneer uitgedrukt als percentage (`rgb(255 87 51 / 50%)` ↔ `rgb(255 87 51 / 0.5)`). Integer- en percentage-vormen produceren identieke hex-uitvoer na normalisatie; de tool toont de canonieke integer-vorm in het RGB-veld na hernormalisatie.
Alpha naar hex: vermenigvuldig met 255, rond af, codeer als laatste paar
RGB met alpha (`rgb(255 87 51 / 0.5)`) emit 8-cijferige hex door alpha met 255 te vermenigvuldigen, af te ronden naar het dichtstbijzijnde integer, en te coderen als een 4e hex-paar toegevoegd na RGB. `0.5 × 255 = 127,5`, afgerond naar 128 = `0x80`, uitvoer `#FF573380`. De CSS Color 4-spec gebruikt banker's-rounding (rond-half-naar-even) voor deze conversie, wat de tool volgt. De 8-cijferige vorm valt terug op 6-cijferige wanneer alpha exact 1 is, om te voorkomen dat trailing `FF`-paren in stylesheets lekken.
RGB-invoer: zowel CSS Color 4 ruimte-gescheiden als legacy-komma geaccepteerd
De parser accepteert zowel de moderne CSS Color 4-vorm `rgb(255 87 51)` als de legacy CSS 1-vorm `rgb(255, 87, 51)`. De moderne vorm sluit aan bij de andere functionele notaties van CSS Color 4 (`hsl()`, `lab()`, `oklch()`, `color()`) die allemaal ruimte-scheiding en slash-voor-alpha gebruiken. De legacy-kommavorm wordt nog steeds ondersteund in elke evergreen-browser en blijft gangbaar in oudere codebases. Beide produceren identieke hex-uitvoer; de hex-serializer van de tool maakt niet uit welke invoervorm arriveerde.
OKLCH als interne bron van waarheid voor round-trip-stabiliteit
Hoewel deze spoke specifiek RGB → HEX target, houdt de gedeelde onderliggende converter de canonieke kleur intern aan als OKLCH-triple. Dit betekent dat RGB → HEX → HSL → OKLAB → CMYK → RGB round-trips zonder per-stap float-drift verlopen; legacy-converters die via HSL of sRGB als pivot routen stapelen per-stap-afrondingsfouten op. De keuze voor OKLCH (boven OKLAB) behoudt Hue als stabiele as zodat het slepen van de hue-slider niet per ongeluk door grijs crossfadet. Per Björn Ottossons OKLAB-paper uit 2020.
Channel-codering: 8-bit unsigned, sRGB gamma-encoded
Elke RGB-channel is een 8-bit unsigned integer (0-255), gecodeerd in de sRGB-kleurruimte gedefinieerd door IEC 61966-2-1 (1996). De waarden zijn *gamma-encoded* — wat betekent dat de relatie tussen channel-waarde en waargenomen helderheid niet-lineair is, volgens de stukgewijze sRGB-transferfunctie (ruwweg een 2,4-exponent met een klein lineair segment rond nul). Dit doet ertoe wanneer je kleurwiskunde doet: het middelen van twee RGB-waarden in hun gamma-encoded vorm geeft het verkeerde perceptuele middelpunt. Voor correcte kleurmenging decodeer je eerst naar linear-RGB (CSS Color 4 §11.2), middel je daarna, en codeer je vervolgens opnieuw. Het OKLCH-interne model van de tool maakt dit transparant.

Aanbevolen aanpak voor RGB / Hex-workflows

Geef hoofdletter-hex de voorkeur in brand guidelines, kleine letters in code
Brand guidelines, marketing-PDF's en designer-gerichte documentatie gebruiken typisch hoofdletter-hex (`#FF5733`) voor visuele consistentie — de all-caps-look leest als merkidentificatie. Code (CSS, JSON, JavaScript-bron) gebruikt typisch kleine letters (`#ff5733`) volgens conventie omdat kleine letters sneller te typen zijn en gangbaarder in autogegenereerde linter-uitvoer. Beide zijn geldige CSS en parsen identiek; kies er één voor elke context en blijf consistent. De tool emit standaard hoofdletters; één mechanische replace schakelt naar kleine letters.
Emit 8-cijferige hex alleen wanneer alpha < 1
Wanneer alpha gelijk is aan 1 (volledig dekkend), val terug op de 6-cijferige vorm. Een trailing `FF`-paar (`#FF5733FF`) is legale CSS maar maakt stylesheets visueel rommelig en verwart sommige legacy-parsers tot mis-rendering. De 8-cijferige vorm zou alleen moeten verschijnen wanneer alpha betekenisvol transparant is. Deze tool volgt die regel automatisch — dekkende kleuren emitten 6-cijferige hex, kleuren met alpha emitten 8-cijferige hex, en de scheidslijn is exact (alpha = 1.0 emit 6 cijfers; alpha = 0,9999 emit 8 cijfers om de data te behouden).
Middel RGB-channels niet direct voor kleurwiskunde
RGB-channels zijn gamma-encoded — het middelen van twee RGB-waarden geeft het verkeerde perceptuele middelpunt. `(255, 0, 0)` gemiddeld met `(0, 255, 0)` produceert `(127, 127, 0)`, een troebele donkere olijfkleur, niet het visueel-heldere geel-middelpunt dat je zou verwachten. Voor correcte kleurmenging decodeer je eerst naar linear-RGB (CSS Color 4 §11.2), middel je daarna, en codeer je vervolgens opnieuw. Of, beter, werk in OKLAB of OKLCH waar perceptuele afstand uniform is — dat is precies wat design-system-paletgeneratoren doen.
Geef hex de voorkeur voor CSS-variabelen, RGB voor hardware
Wanneer je een CSS custom property of een Tailwind-configtoken schrijft, geef hex de voorkeur — het is beknopter en past schoon in JSON of YAML. Wanneer de consumerende code per-channel-rekenkunde doet (canvas-aanroepen, beeldmanipulatie, hardware-LED-drivers, OpenGL-kleurattributen) is de RGB-integer-vorm sneller te consumeren. De twee formaten beschrijven dezelfde kleur; de keuze gaat puur over wie leest en schrijft, niet over correctheid. De simultane-veldweergave van deze tool maakt beide even goedkoop.
Valideer alpha-bereik voor vermenigvuldiging met 255
Bij het implementeren van je eigen RGB → 8-cijferige-hex-converter, valideer dat de alpha-float binnen `[0, 1]` valt voor de `× 255`-stap. Alpha buiten het bereik (negatief of > 1) produceert stilletjes ongeldige hex-paren die sommige parsers accepteren en sommige afwijzen — een breekbaar falingsmodel. Clamp eerst (`Math.max(0, Math.min(1, alpha))`), vermenigvuldig daarna, rond af, en codeer als hex. De tool toont een rustige inline foutmelding voor alpha buiten het bereik in plaats van een gebroken hex-string te emitten.
Gebruik de URL-hash om live kleurbeslissingen te delen
Elke kleurwijziging werkt de URL-hash bij als `#hex=ff5733` automatisch. Kopieer de URL naar een Slack-thread of GitHub-issue en iedereen die hem opent landt op dezelfde kleur met dezelfde hex. Dit is betrouwbaarder dan een RGB-tuple in chat plakken — ontvangers typen soms komma's verkeerd of laten een channel weg bij handmatige invoer — en laat een design-review-thread verwijzen naar een exacte kleur in plaats van "het oranje dat we dinsdag bespraken". De hash wordt nooit naar de server verzonden.

Veelgestelde vragen

Hoe converteer je RGB naar hex?
Converteer elk 0-255-channel-integer naar een 2-cijferige grondtal-16-string, en plak ze daarna aan elkaar met een leidende `#`. In JavaScript: `[255, 87, 51].map(v => v.toString(16).padStart(2, '0')).join('')` geeft `'ff5733'`. Het `padStart(2, '0')` is belangrijk — zonder dat zouden enkele-cijfer-waarden zoals `5` serialiseren als `'5'` in plaats van `'05'`, wat een ongeldige hex oplevert. Deze tool draait de conversie live terwijl je typt — plak elke `rgb()`-waarde (met of zonder spaties, met komma of moderne ruimte-syntax, met of zonder alpha) en het HEX-veld werkt direct bij met de matchende `#RRGGBB`- of 8-cijferige `#RRGGBBAA`-waarde.
Wat is RGB in hex?
RGB in hex is dezelfde kleur gecodeerd als een 6-tekens grondtal-16-string. Beide vormen beschrijven een kleur als drie kanalen (rood, groen, blauw) op de 0-255-schaal, verankerd aan de sRGB-kleurruimte. `rgb(255 87 51)` en `#FF5733` zijn uitwisselbaar overal waar een `` wordt geaccepteerd in CSS — ze gaan zonder verlies heen en weer. Hex pakt dezelfde informatie in een beknoptere vorm die comfortabel past in CSS-variabelen en schoon kopieert tussen Figma, Sketch, Photoshop en code; `rgb()` houdt de kanalen adresseerbaar als aparte integers voor canvas-aanroepen en hardware-API's.
Hoe krijg ik de hex-code uit RGB?
Neem elke channel-waarde (0-255), roep `toString(16)` aan om de grondtal-16-representatie te krijgen, left-pad met een nul tot 2 cijfers, en plak aan elkaar met een leidende `#`. `rgb(255 87 51)` wordt: `255 → 'ff'`, `87 → '57'`, `51 → '33'`, resultaat `#ff5733`. Zet in hoofdletters als je stijlgids dat vereist (`#FF5733`); beide vormen zijn geldige CSS. Voor RGB met alpha zoals `rgb(255 87 51 / 0.5)` vermenigvuldig je de alpha met 255, rond je af, en voeg je het resulterende 2-cijferige hex-paar toe: `0.5 × 255 = 128 = 0x80`, resultaat `#ff573380`. Deze tool doet beide transformaties automatisch.
Wat is de formule voor RGB naar hex?
Voor elke channel: `value.toString(16).padStart(2, '0')`. De `toString(16)` converteert het integer naar zijn grondtal-16-representatie; de `padStart(2, '0')` zorgt dat het resultaat exact 2 tekens is (nodig voor waarden onder 16, die anders als 1 teken zouden serialiseren). Plak de drie resultaten aan elkaar, zet `#` ervoor, en je hebt de canonieke hex. Wiskundig: voor channel `n` in `[0, 255]` zijn de hex-cijfers `Math.floor(n / 16)` en `n % 16` gemapt via `'0123456789abcdef'`. Er is geen afrondingsverlies — 16² = 256, precies passend op de 0-255 byte-range die elke channel inneemt.
Is rgb(0,0,0) gelijk aan #000000?
Ja — exact. `rgb(0, 0, 0)` en `rgb(0 0 0)` (moderne ruimte-gescheiden CSS Color 4-syntax) serialiseren beide naar `#000000`, puur zwart met alle drie de channels op nul. Elk channel-paar codeert als `00`, aaneengeplakt tot een 6-tekens hex `000000`. Dezelfde equivalentie geldt aan het andere uiterste: `rgb(255, 255, 255)` ↔ `#FFFFFF` (puur wit). Elke RGB-triple heeft exact één canonieke 6-cijferige hex-representatie, en elke 6-cijferige hex heeft exact één RGB-triple — de mapping is bijectief over de volle 16.777.216-kleurige sRGB-ruimte.
Kan RGB een alpha-channel hebben?
Ja — gebruik de legacy `rgba()`-vorm `rgba(255, 87, 51, 0.5)` of de moderne CSS Color 4 slash-syntax `rgb(255 87 51 / 0.5)`. Beide coderen een alpha-float van 0 (volledig transparant) tot 1 (volledig dekkend). Bij conversie naar hex wordt alpha een 4e 2-cijferig paar toegevoegd na RGB: vermenigvuldig met 255, rond af, codeer als hex. `0.5 × 255 = 128 = 0x80`, dus `rgb(255 87 51 / 0.5)` wordt `#FF573380`. 8-cijferige hex met alpha kwam in 2018 in alle evergreen-browsers; daarvoor was de `rgba()`-vorm de enige manier om alpha in CSS uit te drukken.
Hoe verschillen hex en RGB?
Ze coderen dezelfde kleur in verschillende notatie. Hex pakt drie 0-255-channels in een 6-tekens grondtal-16-string (`#FF5733`); `rgb()` schrijft de channels in decimaal uit (`rgb(255 87 51)`). Hex is korter en design-tool-native — Figma, Sketch, Photoshop en elke brand-guidelines-PDF exporteren standaard hex, en de meeste front-end-developers herkennen `#3b82f6` op het zicht als Tailwind blue-500. RGB is expliciete channel-adressering, makkelijker om mee te rekenen in JavaScript, en de enige vorm die percentagechannels en native-syntax-alpha accepteert. Beide zijn even geldige CSS en gaan zonder verlies heen en weer.
Hoe nauwkeurig is RGB naar hex?
Bit-exact. RGB → hex is integer-naar-string-wiskunde zonder float-betrokkenheid: `toString(16).padStart(2, '0')` produceert het canonieke 2-cijferige hex-paar voor elke waarde in 0-255, en de omgekeerde richting (`parseInt(pair, 16)`) herstelt het originele integer exact. Een round-trip RGB → HEX → RGB → HEX produceert de originele tuple letterlijk, voor onbepaalde tijd. 16² = 256, precies passend op de byte-range, dus er is geen afrondingsverlies in beide richtingen. Percentage-RGB-invoer wordt eerst afgerond naar het dichtstbijzijnde integer (`50% × 255 / 100 = 127.5 → 128`), wat de standaard CSS Color 4-normalisatieregel is.

Gerelateerde tools

Alle tools bekijken →