Códigos de color hex explicados: cómo funciona #RRGGBB
Un código de color hex como #1e90ff son tres pares de dígitos hexadecimales: la cantidad de luz roja, verde y azul, cada una de 00 (nada) a ff (toda, 255). Añade un cuarto par para fijar la opacidad: 80 significa alrededor del 50 % y ff, totalmente opaco.
Lectura: 7 min
Cómo funciona un código de color hex
Todo color en una pantalla se mezcla a partir de luz roja, verde y azul. Un código hex escribe la intensidad de cada luz con dos caracteres después del signo #: primero el rojo, luego el verde y luego el azul. Ese es el patrón #RRGGBB.
Los caracteres son hexadecimales, una forma de contar con 16 dígitos: del 0 al 9 y después a (10), b (11), c (12), d (13), e (14) y f (15). Un par cubre 256 valores, de 00 (0) a ff (255), justo el rango de rgb().
Para pasar un par a un número normal, multiplica el primer dígito por 16 y súmale el segundo. Abajo tienes #1e90ff, el color CSS dodgerblue, en cuatro formatos y después calculado par a par.
| Formato | Valor |
|---|---|
| HEX | |
| RGB | |
| HSL | |
| OKLCH |
| Par | Canal | Cálculo | Valor |
|---|---|---|---|
| 1e | Rojo | 1 × 16 + 14 | 30 |
| 90 | Verde | 9 × 16 + 0 | 144 |
| ff | Azul | 15 × 16 + 15 | 255 |
Así que #1e90ff es rgb(30, 144, 255): un poco de rojo, bastante verde y el azul al máximo, que juntos dan un azul cielo brillante. Tres pares de 256 valores dan 16 777 216 colores posibles.
Forma corta de hex con 3 y 4 dígitos
Cuando los dos dígitos de cada par son iguales, puedes escribir cada par una sola vez. #ffcc00 se convierte en #fc0, y el navegador vuelve a duplicar cada dígito. #1e90ff no tiene forma corta, porque 1e y 90 no son pares de dígitos repetidos.
La forma corta solo cubre 4096 de los 16,7 millones de colores. Una versión de cuatro dígitos añade la opacidad del mismo modo, así que #f008 significa #ff000088.
| Corto | Completo | Color |
|---|---|---|
| #fff | #ffffff | Blanco |
| #000 | #000000 | Negro |
| #f00 | #ff0000 | Rojo |
| #fc0 | #ffcc00 | Amarillo cálido |
| #abc | #aabbcc | Azul grisáceo |
| #f008 | #ff000088 | Rojo con un 53 % de opacidad |
Opacidad en hex: hex de 8 dígitos con alfa
Un código de ocho dígitos añade un cuarto par para el alfa, la opacidad: #RRGGBBAA. 00 es totalmente transparente y ff, totalmente opaco. Todos los navegadores actuales lo admiten en CSS, igual que la forma corta de cuatro dígitos #RGBA.
Para obtener el par, multiplica la opacidad por 255, redondea a un número entero y pásalo a hex. El 50 % da 127,5, que se redondea a 128 y se escribe 80. Aquí tienes la tabla completa aplicada a #1e90ff.
| Opacidad | Alfa (0–255) | Par hex | #1e90ff con alfa |
|---|---|---|---|
| 100% | 255 | ff | #1e90ffff |
| 95% | 242 | f2 | #1e90fff2 |
| 90% | 230 | e6 | #1e90ffe6 |
| 85% | 217 | d9 | #1e90ffd9 |
| 80% | 204 | cc | #1e90ffcc |
| 75% | 191 | bf | #1e90ffbf |
| 70% | 179 | b3 | #1e90ffb3 |
| 65% | 166 | a6 | #1e90ffa6 |
| 60% | 153 | 99 | #1e90ff99 |
| 55% | 140 | 8c | #1e90ff8c |
| 50% | 128 | 80 | #1e90ff80 |
| 45% | 115 | 73 | #1e90ff73 |
| 40% | 102 | 66 | #1e90ff66 |
| 35% | 89 | 59 | #1e90ff59 |
| 30% | 77 | 4d | #1e90ff4d |
| 25% | 64 | 40 | #1e90ff40 |
| 20% | 51 | 33 | #1e90ff33 |
| 15% | 38 | 26 | #1e90ff26 |
| 10% | 26 | 1a | #1e90ff1a |
| 5% | 13 | 0d | #1e90ff0d |
| 0% | 0 | 00 | #1e90ff00 |
CSS
.overlay {
background: #00000080;
}
.overlay-same {
background: rgb(0 0 0 / 50%);
}Dos detalles. Primero, 80 es 128 de 255, es decir, el 50,2 %, no exactamente el 50 %: el alfa en hex solo tiene 256 pasos, así que la mayoría de los porcentajes redondos son aproximaciones cercanas. Segundo, Android pone el alfa al principio. En un recurso de color de Android, #801e90ff significa lo mismo que #1e90ff80 en CSS.
Cómo leer un código hex a ojo
Puedes adivinar un color sin convertir nada. Fíjate en el primer dígito de cada par, porque lleva casi toda la información.
| Nombre CSS | Hex | RGB | Cómo leerlo |
|---|---|---|---|
| tomato | #ff6347 | 255, 99, 71 | Rojo al máximo, algo de verde y azul: un rojo claro cálido |
| gold | #ffd700 | 255, 215, 0 | Rojo y verde altos, sin azul: amarillo |
| chocolate | #d2691e | 210, 105, 30 | Manda el rojo, verde a la mitad, azul bajo: marrón anaranjado |
| darkturquoise | #00ced1 | 0, 206, 209 | Verde y azul altos, sin rojo: cian |
| dodgerblue | #1e90ff | 30, 144, 255 | Manda el azul, verde en medio: azul cielo |
| mediumorchid | #ba55d3 | 186, 85, 211 | Rojo y azul altos, verde bajo: morado |
| teal | #008080 | 0, 128, 128 | Verde y azul a la mitad: cian oscuro |
| navy | #000080 | 0, 0, 128 | Solo azul, a la mitad: azul oscuro |
| slategray | #708090 | 112, 128, 144 | Casi iguales, el azul un poco por delante: gris azulado |
- El primer dígito más alto indica la luz dominante. #d2691e tiene d en el rojo, 6 en el verde y 1 en el azul, así que es un marrón anaranjado.
- Dos canales altos se mezclan: rojo y verde dan amarillo, verde y azul dan cian, rojo y azul dan magenta o morado.
- Tres pares iguales dan un gris. #333333 es gris oscuro, #999999 es gris claro. Los pares casi iguales, como #708090, dan un color apagado y grisáceo.
- Dígitos altos en general significan un color claro, y dígitos bajos, uno oscuro. Cuando los tres pares son c0 o más, el color es pálido. Cuando los tres son 30 o menos, es muy oscuro.
- El verde se ve mucho más brillante que el azul con el mismo número. #00ff00 tiene una luminosidad OKLCH de 0,866, y #0000ff, solo de 0,452.
Por qué #808080 no es el gris medio
#808080 está justo a mitad de camino en los números: 128 de 255 en cada canal. Pero no se ve a medio camino entre el negro y el blanco. Su luminosidad OKLCH es 0,600, así que se percibe al 60 % del camino hacia el blanco.
Los valores hex ya están codificados con la curva sRGB, que sigue al ojo de forma aproximada, pero no exacta. #808080 emite alrededor del 21,6 % de la luz del blanco, y los modelos perceptuales sitúan el punto medio visual más abajo: OKLCH en #636363, CIELAB en #777777.
| Gris | Qué es | L de OKLCH | Contraste sobre blanco | Contraste sobre negro |
|---|---|---|---|---|
| #808080 | Mitad numérica, 128 | 0.600 | 3.95:1 | 5.32:1 |
| #777777 | Mitad CIELAB, L* 50 | 0.569 | 4.48:1 | 4.69:1 |
| #767676 | Gris más claro con 4.5:1 sobre blanco | 0.566 | 4.54:1 | 4.62:1 |
| #636363 | Mitad OKLCH, L 0.5 | 0.500 | 6.01:1 | 3.50:1 |
Esto importa para el texto. El gris #808080 sobre blanco da 3,95:1 y no cumple WCAG AA para texto de cuerpo. #767676 es el gris más claro que llega a 4,5:1, y #777777, un paso más claro, ya falla con 4,48:1.
Mayúsculas o minúsculas, con # o sin él
Los códigos hex no distinguen entre mayúsculas y minúsculas. #1E90FF, #1e90ff y #1E90ff son el mismo color en CSS, SVG y las herramientas de diseño. Elige un estilo y úsalo en todas partes, para que una búsqueda en tu código encuentre todos los usos. En CSS lo habitual son las minúsculas.
El signo # forma parte de la sintaxis de CSS, no del color. Figma y muchas herramientas de diseño muestran el código sin él, y los lenguajes de programación a menudo lo escriben como número con el prefijo 0x, como en Flutter, donde Color(0xFF1E90FF) empieza por el par del alfa.
Cómo encontrar el código hex de un color en pantalla
Usa un cuentagotas: una herramienta que lee el color que hay bajo el cursor y muestra su código. Son gratis y casi siempre ya los tienes instalados.
- Chrome y Edge: abre DevTools con F12, haz clic en cualquier cuadrado de color del panel Styles y usa el icono del cuentagotas para tomar un color de la página.
- PickShade: el selector de color de la página principal tiene un botón de cuentagotas en Chrome y Edge que toma colores de cualquier parte de la pantalla.
- Windows: instala Microsoft PowerToys y pulsa Win + Shift + C para abrir Color Picker.
- macOS: abre Medidor de Color Digital desde Aplicaciones, Utilidades. Cámbialo a sRGB y elige Visualización, Mostrar valores, En hexadecimal.
- Figma, Photoshop y la mayoría de las apps de diseño: pulsa I para el cuentagotas.
- En una foto o captura de pantalla: ábrela en el selector de color de imágenes y haz clic en cualquier píxel. La imagen no sale de tu dispositivo.
Un valor tomado con el cuentagotas puede desviarse unas pocas unidades del original, porque las pantallas aplican perfiles de color y las imágenes se comprimen. Cuando necesites el valor exacto, cópialo del archivo de diseño o del CSS, no de una captura.
Preguntas y respuestas
¿Qué es un código de color hex?
Un código de color hex es un código de seis dígitos como #1e90ff que describe un color por la cantidad de luz roja, verde y azul que contiene. Cada par de dígitos hexadecimales va de 00 (0) a ff (255), así que #1e90ff es rgb(30, 144, 255).
¿Cómo añado opacidad a un color hex?
Añade un cuarto par de dígitos al final: #RRGGBBAA. Multiplica la opacidad por 255, redondea y pásalo a hex: el 50 % es 80, el 25 % es 40 y el 75 % es bf. Por ejemplo, #1e90ff80 es dodgerblue con alrededor del 50 % de opacidad.
¿Cuánto es el 50 % de opacidad en hex?
El 50 % de opacidad en hex es 80, como en #00000080 para un negro semitransparente. 80 equivale a 128 de 255, es decir, el 50,2 %, porque el alfa en hex tiene 256 pasos y el 50 % exacto cae entre 7f y 80.
¿Qué diferencia hay entre hex y RGB?
En el color no hay ninguna diferencia, solo en la notación. Hex escribe los valores de rojo, verde y azul como pares en base 16 y rgb() los escribe como números decimales de 0 a 255, así que #ff6347 y rgb(255, 99, 71) son el mismo rojo tomate.
¿Los códigos de color hex distinguen mayúsculas y minúsculas?
No. #FF6347, #ff6347 y #Ff6347 son el mismo color en CSS, HTML, SVG y las herramientas de diseño. La mayoría de los proyectos CSS usan minúsculas, pero cualquier estilo sirve mientras sea coherente.
¿Cuál es el código hex del gris medio?
#808080 es la mitad numérica, pero se ve más claro que el punto medio, con una luminosidad OKLCH de 0,600. Un gris que se vea a medio camino entre el negro y el blanco está entre #636363 (L de OKLCH 0,5) y #777777 (L* de CIELAB 50).