Un convertisseur hex vers RGB est un petit utilitaire qui transforme un code couleur hex (`#FF5733`) en les trois valeurs entières de canal qu'il représente (`rgb(255 87 51)`). Hex et RGB sont les deux formats autour desquels chaque feuille de style web, chaque outil de design et chaque pipeline de pixels d'image ont été bâtis depuis la fin des années 1990, et la conversion entre eux est l'opération unique la plus courante de l'outillage de couleur. Hex est le format laconique de copier-coller que Figma, Sketch, Photoshop et chaque PDF de chartes de marque exportent par défaut — une chaîne base-16 de 6 caractères qui tient confortablement dans une propriété personnalisée CSS et se lit d'un coup d'œil une fois que votre œil a appris les motifs. RGB est le format à adressage de canal qu'attendent les API matérielles, les appels de dessin sur canvas, la manipulation de buffers d'image, les attributs de couleur OpenGL et la plupart des SDK graphiques — trois entiers 0-255 séparés (ou flottants normalisés 0-1) qui correspondent directement aux sous-pixels rouge, vert et bleu d'un LCD ou aux phosphores d'un CRT. La conversion entre les deux est mécanique : découpez le hex en trois paires de 2 chiffres et lisez chaque paire comme un nombre base-16. Cet outil exécute cette conversion en direct au fil de la saisie, sans bouton « Convertir » à cliquer, et expose tous les autres formats de couleur courants (HSL, OKLCH, OKLAB, HSV, HWB, CMYK, plus les 148 couleurs CSS nommées) aux côtés de la sortie RGB gratuitement.
**Le format RGB lui-même mérite un examen plus attentif.** Le sRGB 24 bits standard encode chaque canal comme un entier non signé 8 bits de 0 à 255 — 256 valeurs par canal, 16 777 216 couleurs au total (256³). La norme de référence est IEC 61966-2-1, la spécification sRGB de 1996 ancrée aux primaires phosphores CRT qui dominaient les écrans à l'époque. CSS expose RGB via la fonction `rgb()` en trois saveurs syntaxiques. La forme CSS 1 d'origine utilise des séparateurs virgule : `rgb(255, 87, 51)`. CSS Color 4 (Candidate Recommendation du W3C depuis 2022) a ajouté une forme moderne séparée par espaces : `rgb(255 87 51)`, avec un canal alpha optionnel après une barre oblique : `rgb(255 87 51 / 0.5)`. Les deux formes sont interchangeables et livrées dans tous les navigateurs evergreen. RGB accepte aussi des canaux en pourcentage : `rgb(100% 33% 20%)` est équivalent à `rgb(255 87 51)`, parfois préféré dans les feuilles de style écrites à la main pour la lisibilité. L'alpha dispose d'une fonction `rgba()` distincte pour le support hérité — `rgba(255, 87, 51, 0.5)` est la forme canonique qui fonctionne partout jusqu'à IE 9. CSS Color 4 a aussi ajouté une syntaxe `color(srgb 1 0.341 0.2)` pour l'adressage sRGB explicite, et les fonctions parallèles `color(display-p3 ...)` et `color(rec2020 ...)` pour les valeurs gamut chromatique large que hex ne peut encoder.
Les mathématiques de conversion sont propres dans les deux sens. **HEX vers RGB** : analysez le hex à 6 chiffres `#RRGGBB` comme trois nombres base-16 à 2 chiffres via `parseInt(hex.slice(1, 3), 16)`, `parseInt(hex.slice(3, 5), 16)`, `parseInt(hex.slice(5, 7), 16)`. Pour le raccourci à 3 chiffres `#RGB`, développez chaque chiffre en le dupliquant (`#F73` → `#FF7733`) avant l'analyse — ce n'est *pas* un remplissage à gauche. Pour l'alpha à 8 chiffres `#RRGGBBAA`, analysez la paire de fin de la même manière et divisez par 255 pour obtenir le flottant alpha 0-1. Pour le raccourci alpha à 4 chiffres `#RGBA`, développez d'abord chaque chiffre (`#F738` → `#FF773388`). **RGB vers HEX** est l'inverse : pour chaque canal, appelez `value.toString(16).padStart(2, '0')` pour obtenir la paire hex à 2 chiffres (le `padStart` est important — sans lui, une valeur de canal 5 se sérialiserait en `'5'` au lieu de `'05'`, produisant un hex invalide), puis concaténez. Les deux directions sont exactes au bit près : 16² = 256, ce qui correspond exactement à la plage d'octets 0-255 qu'occupe chaque canal, donc un aller-retour HEX → RGB → HEX produit l'entrée originale verbatim sans dérive en virgule flottante.
**Pourquoi hex plutôt que RGB ?** Hex est plus court, natif des outils de design, et le format que votre œil apprend au fil du temps — la plupart des développeurs front-end peuvent identifier `#3b82f6` comme le Tailwind blue-500 à vue. RGB est à adressage de canal explicite, plus facile à calculer dessus en JavaScript, et le seul des deux qui accepte alpha et pourcentages proprement. Les deux formats coexistent parce qu'ils résolvent des problèmes différents. Les feuilles de style web et les chartes de marque penchent hex parce que le coût de copier-coller domine. Les appels de dessin sur canvas, le traitement d'image, les API de LED matérielles et tout code qui fait de l'arithmétique par canal penchent RGB parce qu'indexer dans un tuple bat le découpage d'une chaîne. Le basculement entre les deux se produit des dizaines de fois dans un projet web typique — collez un hex depuis Figma, convertissez en entiers RGB pour un appel `ctx.fillStyle = ...`, reconvertissez en hex pour une définition de variable CSS.
Le flux HEX → RGB de cet outil est une direction d'une famille de 5 branches qui partagent toutes le même convertisseur de couleurs unifié sous-jacent. Le convertisseur de couleurs unifié dédié est le hub — il affiche les 9 formats simultanément modifiables et c'est le bon outil quand votre flux a besoin de plus que hex et RGB. Les branches à sens unique ciblent des intentions de recherche Google spécifiques : le convertisseur RGB vers hex inverse pour la direction opposée, le convertisseur hex vers HSL pour l'espace designer-cognitif hérité, le convertisseur hex vers OKLCH pour les systèmes de design modernes perceptuellement uniformes (Tailwind v4 et shadcn utilisent désormais OKLCH par défaut), et le convertisseur hex vers CMYK pour les approximations de préparation à l'impression. Les cinq branches et le hub partagent le même moteur de parsing et les mêmes mathématiques de conversion, donc les résultats sont garantis identiques sur toute la famille. Chaque conversion s'exécute localement dans votre navigateur — vos codes hex ne sont jamais téléversés, jamais journalisés, et zéro requête réseau ne se déclenche pendant que vous saisissez. Vérifiez dans DevTools.