Convierte valores de color RGB a HSL (Tono, Saturación, Claridad). Comprende los modelos de color para CSS, sistemas de diseño y manipulación programática.
#3b82f6rgb(59, 130, 246)hsl(217, 91%, 60%)hsb(217, 76%, 96%)cmyk(76%, 47%, 0%, 4%)rgb(59, 130, 246) se convierte a hsl(217, 91%, 60%). El tono de 217 grados coloca este color en la parte azul de la rueda de color, 91% de saturación significa que esta casi completamente vivo y 60% de claridad lo hace de brillo medio. HSL separa la identidad del color de la intensidad, lo que lo hace mucho más fácil de trabajar programaticamente que RGB.
HSL significa Tono (Hue), Saturación (Saturation), Claridad (Lightness). Cada componente describe una propiedad diferente de un color:
| Componente | Rango | Significado |
|---|---|---|
| Tono | 0 a 360 grados | Posición en la rueda de color |
| Saturación | 0% a 100% | Intensidad del color (0% = gris) |
| Claridad | 0% a 100% | Brillo (0% = negro, 100% = blanco) |
Con RGB no hay un canal directo para la claridad. Para aclarar rgb(59, 130, 246), necesitas escalar los tres canales hacia 255 manteniendo sus proporciones. Para oscurecer, escala hacia 0. La matemática es propensa a errores y no intuitiva.
Con HSL ajustas un solo valor:
/* Color base */
--color: hsl(217, 91%, 60%);
/* Variante mas clara */
--color-light: hsl(217, 91%, 75%);
/* Variante mas oscura */
--color-dark: hsl(217, 91%, 40%);
/* Saturación reducida */
--color-muted: hsl(217, 30%, 60%);
/* Color complementario */
--color-complement: hsl(37, 91%, 60%);
CSS acepta colores HSL de forma nativa:
/* Sintaxis moderna (CSS Color Level 4) */
color: hsl(217 91% 60%);
/* Con alfa */
color: hsl(217 91% 60% / 0.5);
/* Sintaxis heredada */
color: hsla(217, 91%, 60%, 0.5);
Las propiedades personalizadas basadas en HSL son un patrón estándar para theming:
:root {
--brand-hue: 217;
--brand-saturation: 91%;
--color-50: hsl(var(--brand-hue) var(--brand-saturation) 95%);
--color-500: hsl(var(--brand-hue) var(--brand-saturation) 60%);
--color-900: hsl(var(--brand-hue) var(--brand-saturation) 20%);
}
Cambiar un solo valor --brand-hue cambia el tono de toda la marca mientras preserva el contraste y la jerarquia. Cambiar --brand-saturation produce una paleta apagada sin modificar el brillo relativo.
La conversión de RGB a HSL requiere varios pasos. Primero, normaliza los canales RGB al rango 0-1. Encuentra los valores máximo y mínimo entre ellos. La claridad es el promedio del máximo y mínimo. La saturación es 0 si el máximo y mínimo son iguales (gris); de lo contrario, es la diferencia dividida por 1 menos el valor absoluto de 2L - 1. El tono depende de que canal es el máximo y se calcula como un desplazamiento basado en la diferencia relativa de los canales.
Nothing you paste leaves this tab. Every tool runs entirely in your browser — no upload, no server, no account.