Convertisseur HEX en HSL

Convertissez vos valeurs HEX en HSL instantanément, avec exemple détaillé et tableau des couleurs courantes. Gratuit.

Exemple détaillé

HEX #ff5733 = HSL 11, 100%, 60%

Comment fonctionne la conversion

  • Un code HEX, ce sont les trois mêmes canaux RGB écrits en base 16 : deux chiffres par canal, de 00 (0) à ff (255).
  • HSL décrit la même couleur par teinte (0–360° sur la roue), saturation et luminosité — pratique pour assombrir ou désaturer une couleur en ne changeant qu’une composante.

Couleurs courantes en HEX et HSL

CouleurHEXHSL
Rouge#ff00000, 100%, 50%
Orange#ffa50039, 100%, 50%
Jaune#ffff0060, 100%, 50%
Vert#008000120, 100%, 25%
Cyan#00ffff180, 100%, 50%
Bleu#0000ff240, 100%, 50%
Violet#800080300, 100%, 25%
Rose#ffc0cb350, 100%, 88%
Brun#a52a2a0, 59%, 41%
Blanc#ffffff0, 0%, 100%
Gris#8080800, 0%, 50%
Noir#0000000, 0%, 0%

Chaque conversion s'effectue directement dans votre navigateur. Rien de ce que vous saisissez n'est téléversé vers BroBroGo.

FAQ

Comment convertir HEX en HSL ?

Saisissez ou collez votre valeur HEX ci-dessus : la valeur HSL se met à jour au fil de la frappe. Vous pouvez aussi choisir la couleur visuellement avec le sélecteur.

La conversion est-elle exacte ?

Les valeurs sont arrondies à l’entier, le format attendu par le CSS et les outils de design ; l’écart reste bien en dessous du visible.

Qu’est-ce que la conversion HEX vers HSL?

La page hex‑to‑hsl prend un code couleur hexadécimal — la forme complète à six chiffres comme #1E90FF ou la version abrégée à trois chiffres comme #abc — et retourne instantanément l’équivalent en HSL (teinte en degrés, saturation et luminosité en pourcentages). La représentation HSL est conçue pour le raisonnement humain: il est simple d’ajuster la luminosité ou la saturation tout en conservant la même teinte. En parallèle, la page affiche la couleur dans tous les autres formats pris en charge (RGB, HSV, CMYK, LAB) afin que vous puissiez copier celui dont vous avez besoin.

Ce qui rend cette page distincte des convertisseurs génériques:

  • HEX est une notation RGB brute – six chiffres hexadécimaux (ou la forme abrégée à trois chiffres) qui encodent directement les valeurs rouge, vert et bleu. C’est compact, largement utilisé en CSS et dans les outils de design, mais peu intuitif pour effectuer des réglages compréhensibles par un humain.
  • HSL est bâti pour le raisonnement humain – la teinte est mesurée en degrés (0‑360), tandis que la saturation et la luminosité sont exprimées en pourcentages. Modifier la luminosité seule préserve la teinte; c’est pourquoi HSL est le format de prédilection pour générer des palettes de couleurs et des systèmes de thèmes.
  • Aucun canal alpha – le code HEX standard (six ou trois chiffres) ne contient pas d’information de transparence, et HSL n’inclut pas non plus de composante alpha. La conversion ne concerne donc que des couleurs totalement opaques.

La logique derrière le calcul HEX → HSL

La conversion d’un code hexadécimal en HSL suit un chemin mathématique précis. D’abord, le code HEX est interprété comme trois paires de chiffres hexadécimaux (ou comme trois chiffres uniques répétés dans le cas du format abrégé). Par exemple, #4f46e5 se décompose en rouge 4f (79 en décimal), vert 46 (70 en décimal), bleu e5 (229 en décimal). Ces trois valeurs sont normalisées dans l’intervalle en les divisant par 255, ce qui donne les composantes RGB linéaires.

Ensuite, on applique l’algorithme de conversion RGB → HSL. La formule standard (reprise par les spécifications CSS) commence par trouver le minimum et le maximum des trois composantes normalisées. La luminosité (L) vaut (max + min) / 2. La saturation (S) dépend de L:

  • Si max == min, S = 0 (la couleur est un gris, la teinte n’est pas définie).
  • Sinon, si L ≤ 0,5, S = (max − min) / (max + min); si L > 0,5, S = (max − min) / (2 − max − min). La teinte (H) est calculée d’après la composante maximale:
  • Si max == rouge, H = 60 × ( (vert − bleu) / (max − min) mod 6 ).
  • Si max == vert, H = 60 × ( (bleu − rouge) / (max − min) + 2 ).
  • Si max == bleu, H = 60 × ( (rouge − vert) / (max − min) + 4 ). Si H devient négatif, on ajoute 360.

Prenons un exemple concret: #4f46e5. Normalisé: R = 79/255 ≈ 0,3098, V = 70/255 ≈ 0,2745, B = 229/255 ≈ 0,8980. max = 0,8980 (bleu), min = 0,2745 (vert). L = (0,8980 + 0,2745)/2 = 0,5863. L > 0,5 donc S = (0,8980 − 0,2745) / (2 − 0,8980 − 0,2745) = 0,6235 / 0,8275 ≈ 0,7535 (soit 75,35 %). H = 60 × ( (0,3098 − 0,2745) / (0,8980 − 0,2745) + 4 ) = 60 × (0,0353 / 0,6235 + 4) = 60 × (0,0566 + 4) = 60 × 4,0566 ≈ 243,4°. Le résultat HSL est donc (243°, 75 %, 59 %) arrondi. C’est exactement ce que retourne l’outil.

Cette logique est transparente pour l’utilisateur: rien n’est téléversé, tout le calcul s’effectue dans le navigateur. Les librairies JavaScript utilisent le même algorithme que les spécifications CSS, garantissant la cohérence avec les feuilles de style.

Différences clés entre HEX, HSL et autres espaces colorimétriques

Format Base Composantes Usage courant
HEX Hexadécimal (base 16) R, V, B (0–255 chacun) CSS, design, échange brut
RGB Décimal R, V, B (0–255 ou pourcentages) CSS, moniteurs
HSL Perceptif humain Teinte (0–360°), Saturation (0–100%), Luminosité (0–100%) Palettes, thèmes, accessibilité
HSV Teinte, Saturation, Valeur Teinte (0–360°), Saturation (0–100%), Valeur (0–100%) Édition d’image, sélecteurs de couleur
CMYK Quadrichromie Cyan, Magenta, Jaune, Noir (0–100%) Impression professionnelle
LAB CIE Lab normalisé L*, a*, b* Colorimétrie, calibration

Le tableau montre pourquoi HEX et HSL répondent à des besoins différents. Un code HEX comme #ff6347 est compact mais ne dit rien sur la luminosité relative. La même couleur en HSL — (9°, 100 %, 64 %) — indique immédiatement une teinte orangée très saturée, avec une luminosité médiane. C’est pourquoi les développeurs front‑end préfèrent HSL pour créer des variantes: augmenter la luminosité de 10 % tout en conservant la teinte donne un ton plus clair parfait pour un survol.

Attention: les valeurs CMYK affichées par l’outil sont une estimation pour l’écran. Elles ne doivent pas être utilisées pour l’impression professionnelle sans calibration. De même, si vous entrez une couleur dans un autre espace (LAB, CMYK) qui sort du gamut visible RVB, la couleur est ajustée à la plus proche affichable; la conversion retour à HEX peut alors entraîner un léger décalage – c’est normal, car le gamut RVB ne couvre pas tout l’espace LAB.

Cas limites et pièges à éviter

La page n’accepte que les codes hexadécimaux valides à six ou trois chiffres, avec ou sans le # en tête. Toute autre saisie déclenche le message d’erreur: « Entrez un code hexadécimal comme #4f46e5 ou #abc. » Quelques situations à connaître:

  • Les codes en trois chiffres sont répétés. #abc équivaut à #aabbcc. L’outil effectue cette expansion automatiquement avant conversion.
  • Sans le dièse, l’outil le tolère, mais la norme CSS exige le #. Si vous copiez le résultat HEX, le # sera inclus.
  • Les lettres minuscules ou majuscules sont acceptées indifféremment: #1e90ff et #1E90FF donnent le même HSL.
  • HEX avec canal alpha (RGBA) n’est pas pris en charge. Une entrée comme #4f46e580 (huit chiffres) sera rejetée. Il faut d’abord supprimer la transparence.
  • Couleurs hors gamut: si vous passez d’un autre espace à HSL puis revenez en HEX, il peut y avoir une très légère différence (1 ou 2 unités) due aux arrondis dans les conversions intermédiaires. C’est inévitable avec des calculs flottants.
  • Le noir pur (#000000) et le blanc pur (#ffffff) donnent tous deux une saturation de 0 %, la teinte étant non définie (souvent indiquée 0°). L’outil affichera 0° faute de mieux – ce n’est pas une erreur.
  • Toutes les transformations se font côté client. Aucune donnée n’est envoyée à un serveur. Vous pouvez travailler hors ligne après le premier chargement de la page.

Qui utilise cet outil et pourquoi?

  • Développeurs front‑end qui écrivent du CSS et veulent convertir une couleur hex provenant d’une maquette en HSL. Ils peuvent ainsi ajuster la luminosité pour les états de survol ou les variantes de thème. Par exemple, une propriété CSS personnalisée --couleur-principale: hsl(240, 80%, 50%) permet de créer --couleur-principale-claire: hsl(240, 80%, 70%) avec une simple opération mathématique.
  • Designers UI/UX qui pensent en teinte, saturation et luminosité et doivent retrouver les valeurs HSL d’une couleur de marque donnée en hex. Les sélecteurs de couleur des outils de design affichent souvent HSL, mais les devis client utilisent du HEX.
  • Toute personne qui construit une palette de couleurs: avec HSL, il est simple de créer des schémas complémentaires, analogues ou monochromatiques en ne modifiant que la teinte ou la saturation.
  • Auditeurs d’accessibilité Web qui vérifient les rapports de contraste. HSL facilite le raisonnement: augmenter la luminosité (L) pour le texte clair sur fond foncé, diminuer la saturation pour réduire la fatigue visuelle. Les critères WCAG sont souvent exprimés en luminance relative, mais HSL est un bon intermédiaire.

L’outil répond aussi à un besoin fréquent: avoir la même couleur dans tous les formats d’un coup d’œil, sans avoir à jongler entre plusieurs convertisseurs en ligne.

Questions fréquentes

1. Pourquoi le code HEX #123 donne-t-il le même résultat que #112233?
La spécification CSS autorise la forme abrégée à trois chiffres, où chaque chiffre est doublé. L’outil applique cette règle avant la conversion.

2. Comment obtenir une couleur avec transparence (RGBA) en partant de HEX?
La page ne gère pas la transparence. Vous devez convertir d’abord en HSL, puis ajouter manuellement un canal alpha dans votre code CSS, par exemple hsla(240, 80%, 50%, 0.5).

3. Pourquoi la valeur CMYK de mon écran diffère-t-elle de celle que j’obtiens en imprimant?
L’outil applique une conversion CMJN standardisée pour l’affichage (basée sur les profils ICC). Les véritables profils d’imprimante utilisent des courbes et des encres différentes. Ne vous fiez pas à ces valeurs pour un travail d’impression professionnel sans calibration.

4. Puis-je entrer un code hex sans le #?
Oui, l’outil accepte les codes avec ou sans le symbole #. Cependant, le code HEX retourné dans la section de résultat inclut toujours le #.

5. Qu’arrive-t-il si j’entre une couleur dont la saturation est définie comme 0?
La teinte devient non définie (0° par convention). C’est le cas du gris, du noir et du blanc. L’outil affiche pour la teinte, ce qui n’a pas d’impact sur la couleur affichée.

6. Est-ce que je peux convertir une couleur LAB en HEX avec cet outil?
La page affiche la couleur dans tous les formats dès que vous entrez un code HEX valide. Pour partir d’une valeur LAB, vous devez d’abord la convertir en HEX (via un autre outil) puis l’entrer ici. L’outil ne fait pas de conversion inverse à partir des champs HSL, LAB, etc. — ils sont uniquement en lecture.