Ir al contenido principal
Bethemesh
ReferenciaConceptos y tecnologías

RGB, HEX o HSL: ¿qué notación elegir?

Comprende cómo RGB, HEX y HSL describen colores sRGB para elegir una notación CSS legible y convertir valores sin confusiones.

Publicado el 31 de agosto de 2026Lectura : 12 minPor Equipo Bethemesh
Principiante
Un mismo color azul expresado con las notaciones RGB, HEX y HSL
Mostrar el contenido
  1. RGB, HEX y HSL: la diferencia en una frase
  2. Por qué la Web utiliza tanto RGB
  3. Por qué los valores van de 0 a 255
  4. HEX: una escritura compacta de RGB
  5. Cómo convertir decimal a hexadecimal
  6. La forma HEX corta
  7. HEX también puede representar transparencia
  8. RGB moderno: números, porcentajes y alfa
  9. HSL: pensar en tono, saturación y luminosidad
  10. El tono: un ángulo en el círculo cromático
  11. Saturación: del color al gris
  12. La luminosidad HSL no es luminancia WCAG
  13. ¿RGB y HEX siempre describen sRGB?
  14. ¿HSL es otro espacio de color independiente?
  15. Alfa: color y opacidad son conceptos distintos
  16. ¿Qué notación es mejor?
  17. HEX
  18. RGB
  19. HSL
  20. Para un sistema de diseño
  21. Para generar variantes
  22. HEX en mayúsculas o minúsculas
  23. ¿Tres o seis caracteres?
  24. ¿Se pierde calidad al convertir RGB a HEX?
  25. ¿Y al convertir a HSL?
  26. Evitar conversiones repetidas innecesarias
  27. Colores extraídos de una imagen
  28. De una imagen a una paleta
  29. Color y accesibilidad
  30. Color y transparencia
  31. Colores para estados de interfaz
  32. Modo oscuro
  33. Nombres de color CSS
  34. transparent
  35. Gradientes
  36. ¿Qué ocurre con Display-P3?
  37. OKLCH y espacios modernos
  38. Errores frecuentes
  39. «HEX es más preciso que RGB»
  40. «HSL tiene más calidad»
  41. «50 % de lightness significa brillo medio percibido»
  42. «Cambiar alfa aclara el color»
  43. «Dos colores con el mismo HSL lightness tienen el mismo contraste»
  44. «La notación determina el espacio de color en todos los casos»
  45. Cómo elegir en la práctica
  46. Flujo con Bethemesh
  47. Por qué HSL resulta útil sin ser perceptualmente uniforme
  48. Cuándo conviene utilizar cada notación
  49. Elige HEX cuando…
  50. Elige RGB cuando…
  51. Elige HSL cuando…
  52. Considera OKLCH cuando…
  53. Ejemplo práctico: de una imagen a variables CSS
  54. Transparencia: siempre depende del fondo
  55. Errores adicionales que conviene evitar
  56. Elegir una notación por rendimiento
  57. Crear un tema oscuro invirtiendo luminosidades
  58. Redondear en cada conversión
  59. Método de trabajo recomendado
  60. Lo que hay que recordar
  61. Preguntas frecuentes
  62. ¿HEX y RGB pueden representar exactamente el mismo color?
  63. ¿HSL es mejor para diseñadores?
  64. ¿Puedo usar alfa con HEX?
  65. ¿HSL lightness sirve para calcular WCAG?
  66. ¿Qué notación debería guardar en un design system?
  67. ¿Dónde puedo convertir los valores?

En la Web, un mismo color puede escribirse de varias maneras. Un azul puede aparecer como #2563eb, rgb(37 99 235) o hsl(221 83% 53%). En pantalla, esas expresiones pueden producir exactamente el mismo resultado, pero no describen el color de la misma forma.

La diferencia importa al construir una interfaz, una paleta, un tema claro u oscuro, un sistema de diseño o al extraer colores de una imagen. HEX, RGB y HSL no son tres niveles de calidad: son distintas maneras de describir o expresar un color para usos diferentes.

Si necesitas revisar de dónde proceden los componentes rojo, verde y azul, empieza por ¿Cómo se construye una imagen digital?.

RGB, HEX y HSL: la diferencia en una frase

Podemos resumirlo así:

  • RGB describe un color mediante sus componentes rojo, verde y azul;
  • HEX suele codificar esos mismos componentes RGB mediante una escritura hexadecimal compacta;
  • HSL describe el color mediante tono, saturación y luminosidad.

HEX y RGB suelen ser dos escrituras muy próximas de la misma información. HSL ofrece otra forma de razonar sobre el color.

El conversor de colores permite pasar de una representación a otra.

Por qué la Web utiliza tanto RGB

Las pantallas producen colores combinando luz roja, verde y azul. Es un sistema aditivo: con componentes bajos nos acercamos al negro; con componentes altos, al blanco.

En una representación RGB de 8 bits por canal, cada componente puede adoptar valores de 0 a 255.

color: rgb(255 0 0);

representa rojo, mientras que:

color: rgb(0 0 0);

representa negro.

El blanco:

color: rgb(255 255 255);

y un gris medio puede obtenerse con componentes iguales:

color: rgb(128 128 128);

Esta lógica corresponde directamente a los canales explicados en la anatomía de una imagen digital.

Por qué los valores van de 0 a 255

Con 8 bits:

2⁸ = 256 valores posibles.

Como contamos desde cero, van de 0 a 255.

Tres canales ofrecen:

256 × 256 × 256 = 16.777.216 combinaciones.

Esta lógica permite entender también HEX.

HEX: una escritura compacta de RGB

La notación hexadecimal utiliza dieciséis símbolos:

0 1 2 3 4 5 6 7 8 9 A B C D E F

Cada pareja puede representar un valor de 00 a FF, equivalente a 0–255.

Una notación HEX clásica tiene seis caracteres:

#RRGGBB

Los dos primeros representan rojo, los dos siguientes verde y los dos últimos azul.

#FF0000

equivale a:

rgb(255 0 0)

y:

#2563EB

equivale a:

rgb(37 99 235)

HEX no es, en este caso, un misterioso espacio de color diferente: es principalmente una escritura hexadecimal de componentes RGB.

Cómo convertir decimal a hexadecimal

Para 37:

37 = 2 × 16 + 5

por lo que obtenemos 25.

Para 99:

99 = 6 × 16 + 3

obtenemos 63.

Para 235:

235 = 14 × 16 + 11

14 corresponde a E y 11 a B: EB.

Así:

RGB(37, 99, 235)

se convierte en:

#2563EB

En la práctica, el conversor de colores evita hacer estos cálculos a mano.

La forma HEX corta

Cuando cada pareja repite el mismo carácter:

#ffffff

puede escribirse:

#fff

y:

#336699

puede convertirse en:

#369

porque #369 se expande como #336699.

#2563eb no puede abreviarse de esta manera.

HEX también puede representar transparencia

CSS permite una forma de ocho caracteres:

#RRGGBBAA

Los dos últimos representan alfa.

#2563eb80

describe el azul #2563eb con una opacidad intermedia.

También existe #RGBA cuando las parejas pueden abreviarse.

RGB moderno: números, porcentajes y alfa

CSS moderno admite:

color: rgb(37 99 235);

y porcentajes:

color: rgb(14.5% 38.8% 92.2%);

Para alfa:

color: rgb(37 99 235 / 50%);

También sigue siendo habitual encontrar:

color: rgba(37, 99, 235, 0.5);

La opacidad no cambia las coordenadas del color de origen; cambia cómo se compone con el fondo.

HSL: pensar en tono, saturación y luminosidad

HSL significa:

  • Hue: tono;
  • Saturation: saturación;
  • Lightness: luminosidad.

Por ejemplo:

hsl(221 83% 53%)

HSL permite formular preguntas más intuitivas: ¿quiero cambiar la familia de color?, ¿hacerlo más o menos intenso?, ¿aclararlo o oscurecerlo?

El tono: un ángulo en el círculo cromático

Referencias simplificadas:

  • 0deg → rojo;
  • 60deg → amarillo;
  • 120deg → verde;
  • 180deg → cian;
  • 240deg → azul;
  • 300deg → magenta;
  • 360deg → rojo de nuevo.

Cambiar solo el tono permite recorrer familias de color.

hsl(0 80% 50%)
hsl(120 80% 50%)
hsl(240 80% 50%)

Saturación: del color al gris

A 0%, el tono deja de tener efecto visible y obtenemos un gris determinado por la luminosidad.

hsl(220 0% 50%)

produce gris.

hsl(220 100% 50%)

produce un azul muy saturado.

Esta propiedad hace HSL práctico para crear variantes menos intensas.

La luminosidad HSL no es luminancia WCAG

A 0% de lightness HSL obtenemos negro; a 100%, blanco.

Pero hay una distinción esencial: la lightness de HSL no es la luminancia relativa utilizada para calcular el contraste WCAG.

Dos colores con el mismo valor L en HSL pueden parecer claramente diferentes en luminosidad.

Por eso no debes decidir que dos colores tienen buen contraste solo porque sus porcentajes HSL están alejados.

Consulta Contraste WCAG: cómo hacer accesibles los colores.

¿RGB y HEX siempre describen sRGB?

En el uso Web clásico, las notaciones RGB y HEX se interpretan normalmente en el espacio sRGB.

CSS Color moderno también permite expresar colores en otros espacios mediante funciones específicas. Por eso conviene distinguir siempre notación y espacio de color.

¿HSL es otro espacio de color independiente?

En CSS tradicional, HSL es otra forma de describir colores del mismo entorno sRGB. Sus valores se convierten en componentes RGB para el renderizado.

Por eso convertir de RGB a HSL y volver puede describir el mismo color.

Alfa: color y opacidad son conceptos distintos

Consideremos:

rgb(37 99 235 / 50%)

Los componentes RGB siguen describiendo el mismo azul. El 50% controla su opacidad.

El color final visible depende entonces del fondo.

Un azul semitransparente sobre blanco no produce el mismo resultado visual que sobre negro.

¿Qué notación es mejor?

No existe una ganadora universal.

HEX

Ventajas:

  • compacta;
  • muy reconocible;
  • práctica para tokens estáticos.

RGB

Ventajas:

  • refleja directamente los canales;
  • es cómoda cuando trabajamos con datos de imagen;
  • permite leer valores 0–255 de forma explícita.

HSL

Ventajas:

  • facilita cambios intuitivos de tono, saturación y luminosidad;
  • resulta cómoda para prototipos y variantes.

La mejor notación es la que hace más clara la intención del código.

Para un sistema de diseño

Lo más importante no es elegir HEX frente a RGB, sino utilizar tokens semánticos.

:root {
  --color-primary: #2563eb;
  --color-text: #111827;
  --color-surface: #ffffff;
}

Los componentes deberían consumir roles, no depender de un color concreto disperso por toda la base de código.

Para generar variantes

HSL puede ser cómodo para experimentar, pero modificar lightness con pasos regulares no produce necesariamente una escala perceptualmente uniforme.

Para sistemas más exigentes, espacios modernos como OKLCH pueden ofrecer controles más cercanos a la percepción.

Eso no vuelve inútil a HSL: simplemente delimita su papel.

HEX en mayúsculas o minúsculas

#2563EB y #2563eb representan lo mismo.

Elige una convención y aplícala de forma consistente. La decisión es estilística, no colorimétrica.

¿Tres o seis caracteres?

Utiliza la forma corta solo cuando sea exactamente equivalente.

#fff es una abreviatura exacta de #ffffff. No redondees arbitrariamente un color de seis caracteres para convertirlo en tres.

¿Se pierde calidad al convertir RGB a HEX?

No. Si ambas notaciones describen exactamente los mismos componentes, no cambia el color.

Tampoco existe una «calidad HEX» superior a una «calidad RGB».

¿Y al convertir a HSL?

La conversión matemática puede representar el mismo color. En el texto pueden aparecer redondeos, por lo que conviene conservar suficiente precisión si se realizan conversiones sucesivas.

Evitar conversiones repetidas innecesarias

Convertir, redondear, volver a convertir y redondear de nuevo puede acumular pequeñas diferencias.

En una interfaz ordinaria suelen ser insignificantes, pero en herramientas de color conviene mantener internamente una representación precisa.

Colores extraídos de una imagen

Un extractor suele obtener primero valores de píxel, normalmente relacionados con componentes RGB.

Después puede presentar el resultado como HEX, RGB o HSL.

El extractor de colores y el generador de paletas muestran cómo esas representaciones se integran en un flujo de diseño.

De una imagen a una paleta

Una vez extraídos los colores, todavía hay que decidir cuáles son representativos y qué papel desempeñarán.

La guía Cómo crear una paleta de colores a partir de una imagen explica por qué la frecuencia de un color no basta para convertirlo en color principal.

Color y accesibilidad

Ninguna notación es «más accesible» que otra.

#2563eb, rgb(37 99 235) y su equivalente HSL producen el mismo color y, por tanto, el mismo contraste cuando se representan de forma equivalente.

La accesibilidad depende de la combinación de colores y de su función, no de la sintaxis elegida.

Color y transparencia

La transparencia puede reducir el contraste efectivo porque el color final depende del fondo.

Cuando se comprueba una combinación texto/fondo, hay que evaluar el color compuesto real, no únicamente el valor de origen con alfa.

Colores para estados de interfaz

Hover, active, focus, disabled, success, warning y error necesitan algo más que «un color ligeramente distinto».

Los estados deben seguir siendo distinguibles, legibles y coherentes. HSL puede facilitar la exploración, pero el resultado debe comprobarse visualmente y mediante contraste.

Modo oscuro

No basta con invertir matemáticamente una paleta.

Un azul que funciona como botón sobre blanco puede resultar demasiado luminoso o poco contrastado sobre una superficie oscura. Hay que adaptar roles y variantes.

Nombres de color CSS

CSS también admite palabras clave como:

red
white
black
rebeccapurple

Son prácticas en ciertos contextos, pero los sistemas de diseño suelen preferir valores o tokens explícitos.

transparent

La palabra clave transparent representa transparencia completa. Conceptualmente, no debe interpretarse como «blanco invisible».

La composición alfa sigue siendo importante, especialmente en degradados y animaciones.

Gradientes

Los gradientes interpolan entre colores. El espacio y el método de interpolación pueden influir en los colores intermedios.

Para un uso básico, basta con saber que dos extremos visualmente agradables no garantizan siempre una transición perfecta.

¿Qué ocurre con Display-P3?

Pantallas y CSS modernos pueden representar gamas más amplias que sRGB mediante espacios como Display-P3.

HEX tradicional no expresa por sí solo «más gama». Si necesitas colores fuera de sRGB, utiliza las funciones CSS y el espacio adecuados.

OKLCH y espacios modernos

OKLCH organiza el color con parámetros que buscan una relación más útil con la percepción que HSL para ciertas tareas.

Puede ser interesante para generar escalas, ajustar claridad o mantener coherencia perceptual.

HSL sigue siendo muy legible y ampliamente entendido; OKLCH responde a necesidades distintas.

Errores frecuentes

«HEX es más preciso que RGB»

No cuando ambos expresan los mismos componentes.

«HSL tiene más calidad»

No. Es otra representación.

«50 % de lightness significa brillo medio percibido»

No necesariamente.

«Cambiar alfa aclara el color»

No exactamente. Cambia la composición con el fondo.

«Dos colores con el mismo HSL lightness tienen el mismo contraste»

No.

«La notación determina el espacio de color en todos los casos»

No. Hay que distinguir sintaxis y espacio.

Cómo elegir en la práctica

Usa HEX cuando quieras una escritura compacta y familiar.

Usa RGB cuando los componentes numéricos sean relevantes o procedan directamente de datos de imagen.

Usa HSL cuando tono, saturación y luminosidad hagan más legible la intención de una transformación.

Y utiliza tokens semánticos para que los componentes no dependan de una sintaxis concreta.

Flujo con Bethemesh

  1. Extrae colores con el extractor de colores de imagen.
  2. Explora una paleta con el generador de paletas.
  3. Convierte valores con el conversor de colores.
  4. Comprueba las combinaciones con el verificador de contraste.
  5. Asigna roles semánticos en tu sistema de diseño.

Por qué HSL resulta útil sin ser perceptualmente uniforme

HSL es cómodo cuando una persona quiere razonar en términos de tono, saturación y claridad. Por ejemplo, permite conservar aproximadamente el mismo tono y generar variantes más oscuras o menos saturadas. Esa comodidad no significa que sus pasos sean visualmente regulares: dos colores con 50% de luminosidad HSL pueden parecer muy distintos en brillo.

Por eso HSL funciona bien como control de edición, pero no como instrumento para decidir accesibilidad. Para texto y fondos, la comprobación final debe hacerse con el verificador de contraste.

Cuándo conviene utilizar cada notación

Elige HEX cuando…

  • quieres una escritura compacta y familiar para colores sRGB;
  • trabajas con tokens o variables que el equipo reconoce rápidamente;
  • no necesitas manipular los componentes de forma directa.

Elige RGB cuando…

  • trabajas con datos procedentes de píxeles o de una imagen;
  • necesitas controlar explícitamente rojo, verde y azul;
  • generas colores mediante código o cálculos.

Elige HSL cuando…

  • quieres explorar variantes de tono, saturación o luminosidad;
  • una representación más intuitiva facilita el trabajo de diseño;
  • aceptas comprobar después el contraste y la percepción real.

Considera OKLCH cuando…

Necesitas escalas más regulares perceptualmente, amplias gamas de color o un sistema de diseño moderno. No es necesario abandonar HEX, RGB o HSL: pueden convivir según la tarea y la compatibilidad buscada.

Ejemplo práctico: de una imagen a variables CSS

Un flujo razonable consiste en extraer primero algunos colores representativos con el extractor de colores, descartar duplicados visuales, convertir las muestras con el convertidor de colores y asignarles funciones.

:root {
  --color-brand: #2563eb;
  --color-brand-soft: hsl(221 83% 70%);
  --color-text: #172033;
  --color-surface: #ffffff;
}

La elección de la notación no sustituye la elección del color. Una variable puede almacenarse en HEX y transformarse temporalmente a HSL durante una operación de diseño sin que exista una jerarquía de «calidad» entre ambas representaciones.

Transparencia: siempre depende del fondo

Añadir alfa no vuelve un color intrínsecamente más claro. Un azul al 50 % se mezcla con lo que haya detrás: sobre blanco parecerá más claro; sobre negro, más oscuro. Por eso un color semitransparente no puede evaluarse correctamente sin conocer el fondo final.

La palabra CSS transparent debe entenderse de la misma manera: representa transparencia total, no «blanco invisible». Esta distinción es importante en gradientes, overlays y animaciones.

Errores adicionales que conviene evitar

Elegir una notación por rendimiento

En un sitio moderno, escoger HEX en lugar de RGB para ahorrar unos pocos caracteres rara vez cambia el rendimiento de forma significativa. La legibilidad, la coherencia del sistema y la facilidad de mantenimiento son criterios mucho más útiles.

Crear un tema oscuro invirtiendo luminosidades

Reducir o invertir valores HSL automáticamente no garantiza un buen tema oscuro. Hay que revisar superficies, jerarquía, estados interactivos y contraste en contexto.

Redondear en cada conversión

Las conversiones repetidas RGB → HSL → RGB con redondeos agresivos pueden introducir pequeñas diferencias. Conserva, cuando sea posible, una representación de referencia suficientemente precisa.

Método de trabajo recomendado

  1. Identifica la fuente del color: diseño, imagen, dato o token existente.
  2. Usa la representación más natural para la operación que vas a realizar.
  3. Normaliza el formato cuando los valores entren en el sistema.
  4. Asigna funciones semánticas como fondo, texto, borde, éxito o alerta.
  5. Comprueba estados y temas, no solo el color por defecto.
  6. Valida el contraste de las combinaciones reales.
  7. Mantén una convención estable para que el código siga siendo comprensible.

Lo que hay que recordar

RGB describe componentes rojo, verde y azul.

HEX suele expresar esos mismos componentes en hexadecimal.

HSL reorganiza el razonamiento en torno a tono, saturación y luminosidad.

Las tres representaciones pueden describir el mismo color sRGB. La elección debe favorecer legibilidad, mantenimiento e intención.

La lightness HSL no sustituye una medición de contraste y alfa no modifica las coordenadas del color: modifica su composición.

Preguntas frecuentes

¿HEX y RGB pueden representar exactamente el mismo color?

Sí.

¿HSL es mejor para diseñadores?

Puede resultar más intuitivo para algunos ajustes, pero no es universalmente mejor.

¿Puedo usar alfa con HEX?

Sí, mediante #RRGGBBAA o la forma corta #RGBA.

¿HSL lightness sirve para calcular WCAG?

No.

¿Qué notación debería guardar en un design system?

La que resulte coherente con tus herramientas; lo más importante es exponer tokens semánticos.

¿Dónde puedo convertir los valores?

En el conversor de colores.

Herramientas relacionadas

Imágenes y diseño gráfico

Convertidor de colores

Convierte un color entre HEX, RGB y HSL con sus valores equivalentes.

100 % local
Usar esta herramienta

Fuentes y referencias

  1. 1.W3C — CSS Color Module Level 4
  2. 2.MDN Web Docs — CSS color values
  3. 3.MDN Web Docs — Tipo CSS color

Colección

Imágenes para la Web

  1. 01¿Cómo se construye una imagen digital?
  2. 02¿Qué resolución elegir para una imagen?
  3. 03RGB, HEX o HSL: ¿qué notación elegir?
  4. 04¿Cómo crear una paleta de colores a partir de una imagen?
  5. 05Contraste WCAG: ¿cómo hacer accesibles los colores?
  6. 06PNG, JPEG, WebP o AVIF: ¿qué formato elegir?
  7. 07¿Cómo comprimir una imagen sin perder calidad?
  8. 08SVG: comprender el formato vectorial
  9. 09Imágenes responsive: entender srcset y sizes
  10. 10Metadatos de imagen y privacidad: EXIF, GPS y datos ocultos
  11. 11Optimizar imágenes para la Web sin perder calidad
  12. 12Optimizar imágenes para mejorar el rendimiento web
  13. 13Optimizar un archivo SVG sin alterar su apariencia
  14. 14WebP, AVIF, JPEG XL: ¿qué formatos de imagen elegir en 2026?
ReferenciaConceptos y tecnologíasPrincipiante

¿Cómo se construye una imagen digital?

Comprende cómo se combinan píxeles, canales de color, profundidad y transparencia para formar una imagen mostrada en pantalla.

31 de agosto de 202617 minLeer

¿Te ha resultado útil este artículo?