Convertidor de HEX a RGB

Convierte colores entre hexadecimal, RGB y HSL con un selector, cuatro formatos CSS y una vista previa de contraste que se sincroniza al escribir.

La conversión de color ocurre localmente en tu navegador. Nada se envía a ningún sitio.

Conversor

1
Formatos CSS
HEX—
RGB—
RGBA—
HSL—
HSLA—
Vista previa de contraste
Texto de ejemplo
Texto de ejemplo

Cómo funciona

Las tres notaciones describen la misma terna de enteros, y la herramienta guarda un único estado canónico — R, G, B de 0 a 255 más un alfa — y redibuja cada vista desde él. El hexadecimal no son más que esos bytes en base 16, así que esa conversión es empaquetado, no matemática.

Empaquetado HEX
#RRGGBB escribe cada canal rojo, verde y azul con dos dígitos hexadecimales: 37 pasa a 25, así que rgb(37, 99, 235) es #2563EB. La forma corta #abc equivale a #aabbcc y se acepta; la de 8 dígitos añade el byte alfa (#2563EB80 ≈ 50 %).
RGB → HSL
Escala los canales a 0–1, toma cmax y cmin, y luego L = (cmax + cmin) / 2 y S = (cmax − cmin) / (1 − |2L − 1|), que vale 0 en los grises. El tono es el ángulo del canal máximo — si rojo es el máximo, H = 60° × ((G − B) / Δ mod 6) — de modo que el tono sobrevive a cualquier ajuste posterior de luminosidad.
HSL → RGB
El viaje inverso: C = (1 − |2L − 1|) × S es la croma, X = C × (1 − |(H/60 mod 2) − 1|), se elige el sector de la rueda de color y se suma m = L − C/2 a cada canal. La herramienta escribe a mano las dos direcciones —sin atajos de parsing CSS— y redondea de forma coherente, así que hsl → rgb → hsl vuelve dentro de una unidad.

Preguntas frecuentes

¿Por qué los diseñadores prefieren HSL a RGB?

Porque los canales de HSL responden a las tres preguntas que uno realmente hace sobre un color: qué tono, cuán saturado, cuán claro. Derivar un estado hover pasa a ser luminosidad menos 8 %, las paletas tonales quedan en un tono con luminosidades escalonadas, y apagar un aviso a gris es llevar un número a cero. En RGB las mismas ediciones exigen prueba y error porque sus canales mezclan tono y brillo.

¿Conviene más rgba() o hex de 8 dígitos tipo #RRGGBBAA?

Ambos funcionan en todo navegador moderno — el hex de 8 dígitos llegó con CSS Color Level 4 (Chrome/Safari/Edge hace años, Firefox 49+). rgba() tiene la cola de compatibilidad más larga y sigue siendo lo que emiten guías de estilo y preprocesadores. Esta herramienta muestra las dos para que elijas la convención de tu proyecto; ojo: en hex el orden es R-G-B-A, nunca A primero.

¿Qué eran los «colores web segura» y por qué se mencionan aún?

Las pantallas de principios de los 90 mostraban 256 colores, así que los diseñadores limitaban la paleta a 6×6×6 = 216 colores cuyos canales RGB son múltiplos de 51 (#33, #66, #99, #CC, #FF). Esa paleta sobrevivía al tramado de aquellas pantallas. Las modernas la volvieron obsoleta salvo en pixel art retro — de ahí que #FF6600 siga leyéndose como un naranja «clásico» de la web.

¿Por qué el selector de color ignora la barra alfa?

El elemento nativo input type=color no conoce la transparencia — siempre devuelve un #RRGGBB opaco. Por eso el alfa es un deslizador aparte que solo afecta las cadenas de salida RGBA y HSLA; la muestra y la vista previa de contraste pintan el color totalmente opaco a propósito.

¿Se sube algo a un servidor?

No. El análisis, la matemática RGB↔HSL y cada cadena de salida los calculan unas pocas decenas de líneas de JavaScript en tu navegador. Ningún color que escribas sale de la página, y el conversor funciona con la red apagada.