Un convertitore HEX in RGB è una piccola utility che trasforma un codice colore hex (#FF5733) nei tre valori interi di canale che rappresenta (rgb(255 87 51)). hex e RGB sono i due formati attorno a cui ogni foglio di stile web, strumento di design e pipeline di pixel di immagine è stato costruito fin dalla fine degli anni '90, e la conversione tra di loro è la singola operazione più comune nel tooling di colore. hex è il formato terso da copia-incolla che Figma, Sketch, Photoshop e ogni PDF di brand guidelines esportano di default — una stringa base-16 di 6 caratteri che entra comodamente in una custom property CSS e si legge a colpo d'occhio una volta che l'occhio impara i pattern. RGB è il formato indirizzato per canale che le API hardware, le chiamate di disegno canvas, la manipolazione di buffer immagine, gli attributi colore OpenGL e la maggior parte degli SDK grafici si aspettano — tre interi 0-255 separati (o float normalizzati 0-1) che mappano direttamente sui subpixel rosso, verde e blu di un LCD o sui fosfori di un CRT. La conversione tra di loro è meccanica: si divide l'hex in tre coppie da 2 cifre e si legge ogni coppia come un numero in base 16. Questo strumento esegue quella conversione in tempo reale mentre digita, senza alcun pulsante "Converti" da premere, e affianca all'output RGB ogni altro formato colore comune (HSL, OKLCH, OKLAB, HSV, HWB, CMYK, oltre ai 148 colori CSS named) gratis.
Il formato RGB stesso merita uno sguardo più ravvicinato. Il sRGB standard a 24 bit codifica ogni canale come intero unsigned a 8 bit da 0 a 255 — 256 valori per canale, 16.777.216 colori in totale (256³). Lo standard di riferimento è IEC 61966-2-1, la specifica sRGB del 1996 ancorata ai primari fosforici dei monitor CRT che dominavano i display dell'epoca. CSS espone RGB attraverso la funzione rgb() in tre varianti sintattiche. La forma originale CSS 1 usa separatori a virgola: rgb(255, 87, 51). CSS Color 4 (W3C Candidate Recommendation dal 2022) ha aggiunto una moderna forma con spazi: rgb(255 87 51), con un canale alpha opzionale dopo una slash: rgb(255 87 51 / 0.5). Entrambe le forme sono interscambiabili e arrivano in ogni evergreen browser. RGB accetta anche canali in percentuale: rgb(100% 33% 20%) è equivalente a rgb(255 87 51), talvolta preferito nei fogli di stile scritti a mano per leggibilità. Specificamente l'alpha ha una funzione rgba() separata per il supporto legacy — rgba(255, 87, 51, 0.5) è la forma canonica che funziona ovunque fino a IE 9. CSS Color 4 ha aggiunto anche una sintassi color(srgb 1 0.341 0.2) per l'indirizzamento sRGB esplicito, e funzioni parallele color(display-p3 ...) e color(rec2020 ...) per valori wide-gamut che hex non può codificare.
La matematica della conversione va in entrambe le direzioni in modo pulito. HEX a RGB: si analizza l'hex a 6 cifre #RRGGBB come tre numeri base-16 a 2 cifre tramite parseInt(hex.slice(1, 3), 16), parseInt(hex.slice(3, 5), 16), parseInt(hex.slice(5, 7), 16). Per l'abbreviazione a 3 cifre #RGB, si espande ogni cifra duplicandola (#F73 → #FF7733) prima del parsing — questo *non* è un left-pad. Per l'alpha a 8 cifre #RRGGBBAA, si analizza la coppia finale allo stesso modo e si divide per 255 per ottenere il float alpha 0-1. Per l'abbreviazione alpha a 4 cifre #RGBA, si espande prima ogni cifra (#F738 → #FF773388). RGB a HEX è l'inverso: per ogni canale si chiama value.toString(16).padStart(2, '0') per ottenere la coppia hex a 2 cifre (il padStart conta — senza, il valore di canale 5 verrebbe serializzato come '5' invece di '05', producendo un hex non valido), poi si concatena. Entrambe le direzioni sono bit-exact in qualunque direzione: 16² = 256, che corrisponde esattamente all'intervallo di byte 0-255 occupato da ogni canale, quindi un round-trip HEX → RGB → HEX produce verbatim l'input originale senza drift float.
Perché hex rispetto a RGB? hex è più breve, design-tool-native ed è il formato che l'occhio impara nel tempo — la maggior parte degli sviluppatori front-end riconosce #3b82f6 come blue-500 di Tailwind a colpo d'occhio. RGB è l'indirizzamento esplicito per canale, più facile da elaborare in JavaScript, ed è l'unico dei due ad accettare alpha e percentuali in modo pulito. I due formati coesistono perché risolvono problemi diversi. I fogli di stile web e le brand guidelines tendono a hex perché il costo del copia-incolla domina. Le chiamate di disegno canvas, l'elaborazione delle immagini, le API LED hardware e qualunque codice che fa aritmetica per canale tendono a RGB perché indicizzare in una tupla batte fare slicing di una stringa. Lo switch tra di loro avviene decine di volte in un tipico progetto web — si incolla un hex da Figma, si converte in interi RGB per una chiamata ctx.fillStyle = ..., si riconverte in hex per la definizione di una variabile CSS.
Il flusso di lavoro HEX → RGB di questo strumento è una direzione di una famiglia a 5 spoke che condividono tutti lo stesso convertitore di colori unificato sottostante. Il dedicato convertitore di colori unificato è l'hub — mostra tutti i 9 formati simultaneamente modificabili ed è lo strumento giusto quando il flusso di lavoro necessita di più che solo hex e RGB. Gli spoke monodirezionali mirano a specifiche intenzioni di ricerca Google: il convertitore RGB-hex inverso per la direzione opposta, il convertitore HEX-HSL per lo spazio legacy designer-cognitive, il convertitore HEX-OKLCH per i design system percettivamente uniformi moderni (Tailwind v4 e shadcn ora usano entrambi OKLCH di default), e il convertitore HEX-CMYK per le approssimazioni di preparazione alla stampa. Tutti e cinque gli spoke e l'hub condividono lo stesso motore di parsing e la stessa matematica di conversione, quindi i risultati sono garantiti identici lungo la famiglia. Ogni conversione gira localmente nel browser — i suoi codici hex non vengono mai caricati online, mai loggati, e zero richieste di rete partono mentre digita. Lo verifichi in DevTools.