alltools.one
Design
2025-07-07
7 min
alltools.one Team
ColorHEXRGBHSLCSSDesign

Formatos de Color Explicados: Guía de Conversión HEX, RGB, HSL

Cada píxel en tu pantalla está definido por números. Pero el mismo color puede expresarse en múltiples formatos — HEX, RGB, HSL, HSB y más. Entender estos formatos y cuándo usar cada uno te convierte en un desarrollador y diseñador más efectivo.

Los Modelos de Color

RGB (Rojo, Verde, Azul)

RGB es un modelo de color aditivo basado en cómo funcionan las pantallas. Cada píxel es una combinación de luz roja, verde y azul a intensidades variables.

color: rgb(59, 130, 246);       /* Azul sólido */
color: rgba(59, 130, 246, 0.5); /* Azul 50% transparente */

Cada canal va de 0 (nada) a 255 (intensidad máxima):

  • rgb(0, 0, 0) = Negro (sin luz)
  • rgb(255, 255, 255) = Blanco (toda la luz)
  • rgb(255, 0, 0) = Rojo puro

Cuándo usar RGB: Manipulación programática de color, operaciones de canvas, procesamiento de imágenes. RGB se mapea directamente al hardware, lo que hace los cálculos sencillos.

HEX (Hexadecimal)

HEX es simplemente RGB escrito en notación hexadecimal. Cada par de caracteres representa un canal (00-FF):

color: #3B82F6;   /* Mismo azul que rgb(59, 130, 246) */
color: #3B82F680; /* Con 50% de alfa (hex de 8 dígitos) */

La conversión es directa: 3B = 59, 82 = 130, F6 = 246.

Abreviatura: Cuando cada par tiene dígitos idénticos, puedes acortar: #AABBCC#ABC

Cuándo usar HEX: Hojas de estilo CSS (formato más común), entregas de diseño, guías de marca. HEX es compacto y universalmente entendido.

HSL (Tono, Saturación, Luminosidad)

HSL representa los colores como los perciben los humanos. En lugar de mezclar canales de luz, describes el color por sus propiedades:

  • Tono: El ángulo del color en la rueda cromática (0-360°). 0° = rojo, 120° = verde, 240° = azul
  • Saturación: Qué tan vívido es el color (0% = gris, 100% = color completo)
  • Luminosidad: Qué tan brillante es el color (0% = negro, 50% = color puro, 100% = blanco)
color: hsl(217, 91%, 60%);       /* Mismo azul */
color: hsla(217, 91%, 60%, 0.5); /* Con alfa */

Cuándo usar HSL: Crear paletas de colores, ajustar colores programáticamente (por ejemplo, crear estados hover ajustando la luminosidad), diseño de color accesible. HSL es el formato más intuitivo para el razonamiento humano sobre el color.

HSB/HSV (Tono, Saturación, Brillo/Valor)

HSB es similar a HSL pero define el brillo de manera diferente. Con brillo máximo, obtienes el color puro; con el mínimo, obtienes negro. Este modelo es utilizado por herramientas de diseño como Figma, Sketch y Photoshop.

Diferencia clave con HSL: En HSL, la luminosidad al 50% da el color puro. En HSB, el brillo al 100% da el color puro. Esto hace que HSB sea más intuitivo para algunas tareas pero menos útil en CSS (que no soporta HSB de forma nativa).

Conversión Entre Formatos

Convertir entre formatos involucra matemáticas sencillas. Aquí están las relaciones clave:

HEX a RGB

Divide la cadena hex en pares y convierte cada uno a decimal:

#3B82F6 → 3B=59, 82=130, F6=246 → rgb(59, 130, 246)

RGB a HSL

El algoritmo normaliza los valores RGB a 0-1, encuentra los canales máximo y mínimo, luego calcula el tono basándose en qué canal es dominante, la saturación a partir del rango y la luminosidad a partir del promedio.

En lugar de implementar estas conversiones manualmente, usa nuestro Color Converter para traducir instantáneamente entre cualquier formato.

Aplicaciones Prácticas

Construir Paletas de Color con HSL

HSL sobresale en la generación de paletas consistentes. Mantén el tono constante y varía la saturación y luminosidad:

:root {
  --blue-100: hsl(217, 91%, 95%);  /* Más claro */
  --blue-200: hsl(217, 91%, 85%);
  --blue-300: hsl(217, 91%, 75%);
  --blue-400: hsl(217, 91%, 65%);
  --blue-500: hsl(217, 91%, 60%);  /* Base */
  --blue-600: hsl(217, 91%, 50%);
  --blue-700: hsl(217, 91%, 40%);
  --blue-800: hsl(217, 91%, 30%);
  --blue-900: hsl(217, 91%, 20%);  /* Más oscuro */
}

Este enfoque garantiza pasos perceptualmente consistentes. ¿Creando una paleta completa a mano? Nuestro Color Palette Generator automatiza este proceso.

Estados Hover y Focus

Con HSL, crear estados interactivos es trivial:

.button {
  background: hsl(217, 91%, 60%);
}
.button:hover {
  background: hsl(217, 91%, 55%); /* 5% más oscuro */
}
.button:active {
  background: hsl(217, 91%, 50%); /* 10% más oscuro */
}

Accesibilidad y Contraste

WCAG 2.1 requiere una relación de contraste mínima de 4.5:1 para texto normal y 3:1 para texto grande. El componente de luminosidad en HSL te da una forma intuitiva de asegurar suficiente contraste:

  • Fondos claros (luminosidad > 90%) combinan bien con texto oscuro (luminosidad < 30%)
  • Fondos oscuros (luminosidad < 20%) combinan bien con texto claro (luminosidad > 80%)

Funciones Modernas de Color en CSS

CSS ahora soporta funciones poderosas de manipulación de color:

/* Sintaxis de color relativo (CSS Color Level 4) */
.element {
  --base: hsl(217 91% 60%);
  background: hsl(from var(--base) h s calc(l - 10%));
}

/* oklch - Espacio de color perceptualmente uniforme */
color: oklch(0.7 0.15 250);

El formato oklch está ganando adopción porque es perceptualmente uniforme — cambios numéricos iguales producen cambios percibidos iguales, a diferencia de HSL donde un cambio del 10% en luminosidad se ve diferente a diferentes valores de tono.

FAQ

¿Qué formato de color debería usar en CSS?

Para la mayoría de los proyectos, usa HEX para colores simples y HSL cuando necesites crear variaciones o manipular colores programáticamente. HEX es el formato más compacto y ampliamente reconocido. HSL es más legible cuando construyes sistemas de color. CSS moderno soporta todos los formatos de manera intercambiable.

¿Cuál es la diferencia entre HSL y HSB?

HSL y HSB ambos usan tono y saturación, pero definen el brillo de manera diferente. En HSL, la luminosidad al 0% es negro, al 50% es el color puro y al 100% es blanco. En HSB, el brillo al 0% es negro y al 100% es el color puro (sin camino al blanco solo a través del brillo). CSS soporta HSL de forma nativa; HSB se usa principalmente en herramientas de diseño como Figma y Photoshop.

Recursos Relacionados

Published on 2025-07-07
Color Formats Explained: HEX, RGB, HSL Conversion Guide | alltools.one