Color HSL
Concepto de Color y diseño en Utilidades, conectado con sus herramientas y conceptos vecinos.
Actualizado el 18 de julio de 2026
HSL (Hue, Saturation, Lightness) es un modelo de color que describe los colores de la misma manera en que los percibe el ojo humano: por su matiz (qué color es), su saturación (qué tan vivo) y su luminosidad (qué tan claro u oscuro). Es más intuitivo que RGB para crear y ajustar colores, y cada vez más utilizado en sistemas de diseño modernos.
Los tres parámetros de HSL
Matiz (Hue) — 0 a 360°
El matiz es la posición en la rueda de color. Funciona como un ángulo:
| Ángulo | Color |
|---|---|
| 0° / 360° | Rojo |
| 30° | Naranja |
| 60° | Amarillo |
| 120° | Verde |
| 180° | Cian |
| 240° | Azul |
| 270° | Violeta |
| 300° | Magenta |
Saturación — 0 % a 100 %
Controla la viveza del color. Al 0 % todos los matices se convierten en gris. Al 100 % el color es puro.
hsl(0, 0%, 50%)→ gris medio (independientemente del matiz)hsl(0, 50%, 50%)→ rojo apagadohsl(0, 100%, 50%)→ rojo vibrante
Luminosidad — 0 % a 100 %
Controla el brillo. El 50 % es el color base; valores menores lo oscurecen y mayores lo aclaran:
hsl(240, 100%, 0%)→ negro (cualquier matiz)hsl(240, 100%, 50%)→ azul purohsl(240, 100%, 100%)→ blanco (cualquier matiz)
Sintaxis en CSS
color: hsl(210, 80%, 50%); /* azul medio */
color: hsl(30, 100%, 50%); /* naranja puro */
color: hsl(120, 60%, 35%); /* verde oscuro */
color: hsla(210, 80%, 50%, 0.5); /* azul al 50 % de opacidad */
Desde CSS Color Level 4, hsl() también acepta una barra para el alfa, igual que rgb():
color: hsl(210 80% 50% / 0.5); /* nueva sintaxis, sin comas */
Por qué HSL es más práctico que RGB para ajustar colores
Con RGB, si quieres aclarar un color tienes que modificar los tres canales a la vez. Con HSL, basta con subir la luminosidad:
/* Color base */
--brand-500: hsl(220, 90%, 56%);
/* Variantes generadas solo tocando L */
--brand-300: hsl(220, 90%, 72%);
--brand-700: hsl(220, 90%, 36%);
--brand-900: hsl(220, 90%, 20%);
Este patrón es la base de los sistemas de tokens de color de bibliotecas como Tailwind CSS (que internamente calcula sus variantes de color en HSL) o Material Design.
Equivalencias con HEX y RGB
| hsl() | rgb() equivalente | HEX |
|---|---|---|
| hsl(0, 100%, 50%) | rgb(255, 0, 0) | #FF0000 |
| hsl(120, 100%, 50%) | rgb(0, 255, 0) | #00FF00 |
| hsl(240, 100%, 50%) | rgb(0, 0, 255) | #0000FF |
| hsl(0, 0%, 0%) | rgb(0, 0, 0) | #000000 |
| hsl(0, 0%, 100%) | rgb(255, 255, 255) | #FFFFFF |
| hsl(0, 0%, 50%) | rgb(128, 128, 128) | #808080 |
Limitaciones de HSL
- HSL no es perceptualmente uniforme: dos colores con la misma luminosidad HSL pueden parecer muy distintos de brillo para el ojo humano. Por ejemplo, un amarillo al 50 % de luminosidad parece mucho más brillante que un azul al 50 %. Para diseño de alta precisión existen otros modelos como LCH u OKLAB (disponibles en CSS con
lch()yoklab()). - No es lo mismo que HSB/HSV: el modelo HSB (Hue, Saturation, Brightness), usado por Photoshop y otras herramientas de diseño, es diferente al HSL de CSS. Un mismo color puede tener valores distintos en cada modelo, así que presta atención a qué modelo usa la herramienta que estás consultando.
Conceptos relacionados
También en Color y diseño
Preguntas frecuentes
¿Qué representan los tres valores de hsl()?
¿Para qué sirve cambiar solo la luminosidad en HSL?
¿Cuál es la diferencia entre HSL y HWB?
Ver todas las herramientas de Utilidades.