DevTools

← Volver al Inicio

HEX, RGB y HSL: Guía Definitiva de Formatos de Color en CSS

Blog de DevTools — Herramientas y guías gratuitas para desarrolladores

El Mismo Color, Tres Lenguajes

Un diseñador te manda #6C5CE7 por Slack. Tu CSS usa variables RGB porque necesitas transparencias. La documentación de tu librería de gráficos pide HSL. ¿Son tres colores distintos? No: es el mismo violeta expresado en tres sistemas de coordenadas diferentes. Saber traducir entre ellos es una habilidad cotidiana para cualquiera que escriba CSS.

Nuestro convertidor de colores online hace la conversión al instante entre HEX, RGB y HSL con vista previa incluida, pero entender cómo funciona cada formato te permitirá manipular colores mentalmente, algo que distingue a los desarrolladores frontend fluidos.

HEX: El Estándar de los Diseñadores

La notación hexadecimal describe el color como tres pares de dígitos hexadecimales (00-FF): rojo, verde y azul. #6C5CE7 significa rojo 6C (108), verde 5C (92), azul E7 (231). Cada canal va de 0 a 255, así que hay más de 16 millones de combinaciones.

Ventajas: compacto, universalmente soportado, copiable desde cualquier herramienta de diseño (Figma, Photoshop, Illustrator lo usan por defecto). Las variantes modernas agregan canal alfa: #6C5CE780 es el mismo color con 50% de opacidad.

Desventaja: es un formato para máquinas. Mirando #E17055 nadie puede decir si es naranja oscuro o terracota; no se puede razonar sobre él sin decodificarlo.

RGB: El Formato Honesto

RGB expresa exactamente lo mismo que HEX pero en decimal: rgb(108, 92, 231). Su versión moderna rgba() (o la sintaxis con slash rgb(108 92 231 / 0.5)) incorpora transparencia.

Cuándo brilla RGB: cuando manipulas canales programáticamente. Generar una variante 20% más oscura en JavaScript es trivial con RGB: multiplicas cada canal por 0.8. Con HEX primero tendrías que parsear la cadena. También es el formato natural de canvas, WebGL y las APIs gráficas del navegador.

HSL: El Formato Humano

HSL reorganiza las coordenadas según como pensamos los colores:

  • Hue (tono): 0-360 grados en el círculo cromático. 0 es rojo, 120 verde, 240 azul.
  • Saturation (saturación): 0% gris desaturado, 100% color puro intenso.
  • Lightness (luminosidad): 0% negro, 50% el tono pleno, 100% blanco.

Por qué importa: HSL hace triviales las operaciones que en HEX son aritmética dolorosa. ¿Necesitas el hover de tu botón? Sube la luminosidad unos puntos: hsl(247, 75%, 63%) pasa a hsl(247, 75%, 55%) y listo. ¿Una paleta análoga? Gira el hue ±30 grados manteniendo saturación y luminosidad. ¿Modo oscuro coherente? Misma familia de tonos con luminosidades recalculadas.

Tabla de Conversión Rápida

FormatoVioleta DevToolsÚsalo para
HEX#6C5CE7Copiar desde/hacia herramientas de diseño, tokens de marca
RGBArgba(108,92,231,0.4)Sombras, overlays, estados con transparencia
HSLhsl(247,75%,63%)Generar escalas, hover/active, temas dinámicos

Consejos Profesionales

Define tu paleta en HSL dentro de preprocesadores: declara el tono base una vez y deriva variantes ajustando lightness. Tu CSS gana consistencia matemática.

Cuidado con HSL y accesibilidad: dos colores con igual luminosidad HSL no garantizan contraste suficiente. Tras elegir combinaciones, valida con una calculadora de contraste WCAG que el texto alcance ratio 4.5:1.

Los colores named son trampa: rebeccapurple es divertido, pero gray vs grey, nombres mal recordados y valores sorpresivos hacen preferible notaciones numéricas en código serio.

Pruébalo Ahora

Abre el Color Converter, pega el HEX de tu color de marca favorito y observa los tres formatos lado a lado. Luego juega: toma el valor HSL y sube la luminosidad 10 puntos; conviértela de vuelta y verás la variante hover perfecta de tu paleta, lista para pegar en tu hoja de estilos.