HSL es la forma amigable de elegir un color; RGB es lo que realmente consumen las pantallas, las APIs de canvas y el código de imagen. Este convertidor transforma cualquier triple de hue, saturation y lightness en canales exactos 0–255.
Cómo funciona la conversión de HSL a RGB
- Convierte S y L a fracciones y calcula la croma C = (1 − |2L − 1|) × S.
- Divide el hue entre 60 para encontrar su segmento en la rueda de color y calcula el valor intermedio X = C × (1 − |(H/60 mod 2) − 1|).
- Asigna C, X y 0 a los espacios R, G y B según ese segmento.
- Añade el offset de lightness L − C/2 a los tres canales y multiplícalos por 255.
Ejemplo práctico
El resultado es exacto salvo por el redondeo final a canales enteros. Se aceptan valores fraccionarios de hue o saturation y simplemente se aproximan al triple RGB más cercano.
HSL y RGB explicados
¿Qué es HSL?
HSL divide un color en tono (0–360° en la rueda de color), saturación (qué tan colorido, 0–100%) y luminosidad (qué tan claro, 0–100%). Como cada parte coincide con la forma en que la gente describe el color, HSL es el formato más sencillo para crear tintes, sombras y paletas coherentes — a mano o en código.
- Sintaxis:
- hsl(H, S%, L%)
- Rango:
- 0–360°, 0–100%, 0–100%
- Mejor para:
- paletas, tintes y sombras, theming
¿Qué es RGB?
RGB describe un color como tres canales de luz — rojo, verde y azul — cada uno de 0 a 255. Refleja cómo funcionan las pantallas: los tres a 255 dan blanco, los tres a 0 dan negro. RGB es la opción correcta cuando necesitas calcular con un color, y rgba() añade transparencia encima.
- Sintaxis:
- rgb(R, G, B)
- Rango:
- 0–255 por canal
- Mejor para:
- código, canvas, transparencia con rgba()
Tabla de referencia de HSL a RGB
Los colores CSS más comunes, convertidos de HSL a RGB.
| Color | HSL | RGB |
|---|---|---|
| black | hsl(0, 0%, 0%) | rgb(0, 0, 0) |
| white | hsl(0, 0%, 100%) | rgb(255, 255, 255) |
| red | hsl(0, 100%, 50%) | rgb(255, 0, 0) |
| lime | hsl(120, 100%, 50%) | rgb(0, 255, 0) |
| blue | hsl(240, 100%, 50%) | rgb(0, 0, 255) |
| yellow | hsl(60, 100%, 50%) | rgb(255, 255, 0) |
| orange | hsl(39, 100%, 50%) | rgb(255, 166, 0) |
| teal | hsl(180, 100%, 25%) | rgb(0, 127, 128) |
| purple | hsl(300, 100%, 25%) | rgb(128, 0, 127) |
| gray | hsl(0, 0%, 50%) | rgb(128, 128, 128) |