Convertisseur de Couleurs

Convertissez les couleurs entre les formats HEX, RGB, HSL et HSV avec sélecteur visuel

Essayer un exemple

Cliquez sur l'échantillon pour ouvrir le sélecteur

Ou modifiez toute valeur ci-dessous

HEX
RGB
HSL
HSV

Qu'est-ce que la conversion de couleurs ?

Un convertisseur de couleurs traduit une valeur de couleur d'une notation à une autre — par exemple, d'un triplet HEX (#6366F1) vers un tuple RGB (99, 102, 241) ou un triple HSL (239, 84%, 67%). Une même couleur peut aussi s'exprimer en triple HSV (239, 59%, 95%). Chaque format encode la même couleur visuelle selon un modèle mathématique différent ; les outils, langages et API attendent des formats variés selon le contexte.

HEX et RGB décrivent tous deux une couleur comme un mélange de lumière rouge, verte et bleue. HEX est une représentation hexadécimale compacte des trois mêmes valeurs de canaux 0-255 que RGB exprime en décimal. HSL (Teinte, Saturation, Luminosité) et HSV (Teinte, Saturation, Valeur) réorganisent ces informations dans un système de coordonnées cylindrique où la teinte est un angle sur la roue chromatique (0-360 degrés), et la saturation, la luminosité ou la brillance sont des pourcentages. Cela rend HSL et HSV plus intuitifs pour créer des nuances plus claires ou plus foncées d'une même teinte.

La conversion entre ces formats repose sur des formules mathématiques bien définies. La spécification W3C CSS Color Module Level 4 documente les algorithmes qu'utilisent les navigateurs pour résoudre toute couleur CSS en triplet sRGB. Les formules sont déterministes : une entrée donnée produit toujours la même sortie, donc les conversions sont sans perte tant que les valeurs ne sont pas arrondies ou écrêtées. La plupart des sélecteurs de couleurs et outils de design s'appuient sur ces mêmes formules en coulisse.

Pourquoi utiliser ce convertisseur de couleurs ?

Les outils de design exportent les couleurs dans un format, votre CSS en attend un autre, et l'API que vous appelez en exige un troisième. Au lieu d'écrire du code de conversion ou de chercher la bonne formule, collez une valeur et obtenez tous les formats en une seule fois.

Conversion en temps réel
Saisissez ou choisissez une couleur et regardez HEX, RGB, HSL et HSV se mettre à jour instantanément. Pas de bouton Envoyer, pas d'aller-retour serveur.
🔒
Traitement respectueux de la vie privée
Tous les calculs de conversion s'exécutent dans votre navigateur. Aucune valeur de couleur, aucune donnée d'utilisation et aucun cookie ne sont transmis.
🔀
Les quatre formats en même temps
Une seule entrée produit simultanément HEX, RGB, HSL et HSV. Copiez le format dont vous avez besoin en un seul clic.
📋
Aucun compte requis
Ouvrez la page et commencez à convertir. Pas d'inscription, pas d'e-mail, pas de limite de requêtes. Fonctionne hors ligne une fois chargé.

Cas d'utilisation du convertisseur de couleurs

Développement CSS
Un designer vous fournit une valeur HEX issue de Figma, mais votre bibliothèque de composants utilise HSL pour le thème. Convertissez la valeur et intégrez-la dans vos propriétés CSS personnalisées ou votre config Tailwind.
Intégration d'API back-end
Votre endpoint accepte les couleurs sous forme de tableaux RGB pour la génération de graphiques. Convertissez les codes HEX de marque du guide de style en triplets d'entiers attendus par l'API.
Maintenance d'un design system
Lors de la documentation d'un design system, vous devez lister chaque jeton de couleur en HEX pour la référence rapide, en RGB pour le rendu Canvas, et en HSL pour la génération programmatique de nuances.
QA et tests visuels
Comparer la couleur d'un pixel dans une capture d'écran (généralement reportée en RGB par les DevTools du navigateur) avec la valeur HEX attendue d'une spec Figma. Une conversion rapide confirme ou signale les divergences.
Visualisation de données
Les bibliothèques de graphiques comme D3.js et Chart.js acceptent les couleurs dans différents formats selon la méthode. Convertissez une fois et maintenez une notation cohérente dans toute la configuration de vos jeux de données.
Apprentissage de la théorie des couleurs
Les étudiants en infographie ou en design web peuvent voir comment une même couleur se représente en HEX, RGB, HSL et HSV. Ajuster un canal et observer les autres évoluer développe l'intuition sur les relations entre les modèles de couleurs.

Référence des formats de couleurs

Le tableau ci-dessous liste les cinq formats de couleurs les plus courants, avec la même couleur indigo (#6366F1) affichée dans chaque notation. HEX et RGB sont les plus largement pris en charge en CSS et JavaScript. HSL est privilégié pour le thème car ajuster la luminosité et la saturation est direct. HSV est le modèle utilisé par la plupart des sélecteurs de couleurs des logiciels de design.

FormatExemple (indigo)CanauxUsage courant
HEX#6366F16 (or 3/8)CSS, design tools, brand guides
RGBrgb(99, 102, 241)3 (0–255 each)CSS, Canvas API, image processing
HSLhsl(239, 84%, 67%)3 (deg, %, %)CSS, color theming, accessibility tuning
HSVhsv(239, 59%, 95%)3 (deg, %, %)Color pickers, Photoshop, Figma
CMYKcmyk(59%, 58%, 0%, 5%)4 (0–100% each)Print design, prepress workflows

HEX vs RGB vs HSL

Ces trois formats décrivent le même espace colorimétrique sRGB. La différence réside dans la façon dont ils exposent les données, ce qui influe sur la lisibilité et la facilité de manipulation selon le contexte.

HEX
Une chaîne hexadécimale à 6 chiffres (ou raccourci à 3 chiffres). Compact et universel en CSS, dans les outils de design et les chartes graphiques. Difficile à déchiffrer d'un coup d'œil : #6366F1 ne renseigne pas sur la teinte. Prend en charge un format optionnel à 8 chiffres (#6366F180) pour la transparence alpha.
RGB
Trois entiers de 0 à 255 pour les canaux rouge, vert et bleu. Le format natif pour Canvas 2D, WebGL et la plupart des bibliothèques de traitement d'images. Facile à manipuler canal par canal, mais ajuster la luminosité perçue nécessite de modifier les trois valeurs ensemble.
HSL
Teinte (0-360 degrés), saturation (0-100%) et luminosité (0-100%). Conçu pour la lisibilité humaine. Pour éclaircir une couleur, augmentez L. Pour la désaturer, diminuez S. CSS supporte nativement la notation hsl(), et les syntaxes modernes color-mix() et relative color s'y appuient.

Exemples de code

Conversion de couleurs entre HEX, RGB et HSL dans les langages et environnements courants. Chaque exemple utilise la même couleur indigo (#6366F1) pour faciliter la comparaison.

JavaScript
// HEX → RGB
function hexToRgb(hex) {
  const n = parseInt(hex.replace('#', ''), 16)
  return [(n >> 16) & 255, (n >> 8) & 255, n & 255]
}
hexToRgb('#6366f1') // → [99, 102, 241]

// RGB → HSL
function rgbToHsl(r, g, b) {
  r /= 255; g /= 255; b /= 255
  const max = Math.max(r, g, b), min = Math.min(r, g, b)
  const l = (max + min) / 2
  if (max === min) return [0, 0, Math.round(l * 100)]
  const d = max - min
  const s = l > 0.5 ? d / (2 - max - min) : d / (max + min)
  let h = 0
  if (max === r) h = ((g - b) / d + (g < b ? 6 : 0)) / 6
  else if (max === g) h = ((b - r) / d + 2) / 6
  else h = ((r - g) / d + 4) / 6
  return [Math.round(h * 360), Math.round(s * 100), Math.round(l * 100)]
}
rgbToHsl(99, 102, 241) // → [239, 84, 67]
Python
import colorsys

# HEX → RGB
def hex_to_rgb(hex_str: str) -> tuple[int, int, int]:
    h = hex_str.lstrip('#')
    return tuple(int(h[i:i+2], 16) for i in (0, 2, 4))

hex_to_rgb('#6366f1')  # → (99, 102, 241)

# RGB → HSL (colorsys uses HLS order)
r, g, b = 99 / 255, 102 / 255, 241 / 255
h, l, s = colorsys.rgb_to_hls(r, g, b)
print(f"hsl({h * 360:.0f}, {s * 100:.0f}%, {l * 100:.0f}%)")
# → hsl(239, 84%, 67%)

# RGB → HSV
h, s, v = colorsys.rgb_to_hsv(r, g, b)
print(f"hsv({h * 360:.0f}, {s * 100:.0f}%, {v * 100:.0f}%)")
# → hsv(239, 59%, 95%)
Go
package main

import (
	"fmt"
	"math"
)

func hexToRGB(hex string) (int, int, int) {
	var r, g, b int
	fmt.Sscanf(hex, "#%02x%02x%02x", &r, &g, &b)
	return r, g, b
}

func rgbToHSL(r, g, b int) (int, int, int) {
	rf, gf, bf := float64(r)/255, float64(g)/255, float64(b)/255
	max := math.Max(rf, math.Max(gf, bf))
	min := math.Min(rf, math.Min(gf, bf))
	l := (max + min) / 2
	if max == min {
		return 0, 0, int(math.Round(l * 100))
	}
	d := max - min
	s := d / (2 - max - min)
	if l <= 0.5 {
		s = d / (max + min)
	}
	var h float64
	switch max {
	case rf: h = (gf - bf) / d; if gf < bf { h += 6 }
	case gf: h = (bf - rf) / d + 2
	case bf: h = (rf - gf) / d + 4
	}
	return int(math.Round(h / 6 * 360)), int(math.Round(s * 100)), int(math.Round(l * 100))
}

func main() {
	r, g, b := hexToRGB("#6366f1")
	fmt.Println(r, g, b)         // → 99 102 241
	fmt.Println(rgbToHSL(r, g, b)) // → 239 84 67
}
CSS
/* Modern CSS supports multiple color formats natively */

/* HEX notation */
.button { color: #6366f1; }

/* RGB functional notation */
.button { color: rgb(99 102 241); }

/* HSL — easier to adjust lightness and saturation */
.button { color: hsl(239 84% 67%); }

/* CSS Color Level 4: relative color syntax (Chrome 119+) */
.button-light { color: hsl(from #6366f1 h s calc(l + 20%)); }

/* color-mix() for tinting without manual conversion */
.button-muted { color: color-mix(in srgb, #6366f1 70%, white); }

Foire aux questions

Quelle est la différence entre HSL et HSV ?
Les deux utilisent la teinte et la saturation, mais définissent la brillance différemment. HSL utilise la luminosité : 50% correspond à la couleur pure, 0% au noir et 100% au blanc. HSV utilise la valeur (ou brillance) : 100% correspond à la couleur pure et 0% au noir. HSV n'a pas de point final blanc direct. En pratique, HSL est utilisé en CSS et développement web, tandis que HSV est le modèle des sélecteurs de couleurs dans les logiciels de design comme Photoshop et Figma.
Comment convertir HEX en RGB en JavaScript ?
Analysez la chaîne hex en entier avec parseInt(hex, 16), puis extrayez chaque canal par décalage de bits : (n >> 16) & 255 pour le rouge, (n >> 8) & 255 pour le vert, et n & 255 pour le bleu. Cela gère toute chaîne hex à 6 chiffres avec ou sans le signe # initial. Pour le raccourci à 3 chiffres comme #F0F, développez d'abord chaque chiffre (FF00FF) avant d'analyser.
Puis-je utiliser HSL directement en CSS ?
Oui. Tous les navigateurs modernes prennent en charge hsl() et hsla() en CSS. Depuis CSS Color Level 4, la syntaxe est hsl(239 84% 67%) avec des valeurs séparées par des espaces (les virgules sont encore acceptées). Vous pouvez aussi ajouter l'alpha en quatrième paramètre : hsl(239 84% 67% / 0.5). Safari, Chrome, Firefox et Edge supportent tous cette syntaxe.
La conversion de couleurs est-elle sans perte ?
Mathématiquement, non. HEX, RGB, HSL et HSV décrivent tous le même espace colorimétrique sRGB et les conversions sont réversibles. En pratique, de légères différences d'arrondi peuvent apparaître car HEX est limité à 256 pas par canal et les pourcentages HSL sont généralement arrondis à l'entier. Des conversions répétées dans les deux sens peuvent accumuler des erreurs d'arrondi de 1-2 unités.
Qu'est-ce que le format HEX à 8 chiffres ?
Le format HEX à 8 chiffres ajoute deux chiffres alpha (transparence) au HEX standard à 6 chiffres. Par exemple, #6366F180 représente la même couleur indigo à 50% d'opacité (0x80 = 128, soit environ 50% de 255). CSS prend en charge cette notation dans tous les navigateurs modernes. La forme courte est à 4 chiffres, comme #63F8.
Pourquoi ma couleur semble-t-elle différente sur un autre moniteur ?
L'apparence d'une couleur dépend du profil colorimétrique, de la luminosité et de la calibration gamma du moniteur. Deux écrans peuvent afficher la même valeur sRGB (#6366F1) différemment si leurs profils colorimétriques divergent. Les outils de conversion de couleurs travaillent dans un espace colorimétrique défini (généralement sRGB) et produisent une sortie mathématiquement correcte. Les différences perçues sont un problème de calibration de l'affichage, pas une erreur de conversion.
Comment obtenir une nuance plus claire ou plus foncée d'une couleur ?
Convertissez la couleur en HSL et ajustez le canal L (luminosité). Augmenter L vers 100% produit des teintes plus claires ; le diminuer vers 0% produit des nuances plus foncées. La teinte et la saturation restent les mêmes. En CSS, vous pouvez le faire directement : hsl(239 84% 80%) est une version plus claire de hsl(239 84% 67%). Le CSS moderne propose aussi color-mix(in srgb, #6366F1, white 30%) pour le même effet sans conversion manuelle.