Un convertidor HEX a RGB es una pequeña utilidad que convierte un código de color hex (`#FF5733`) en los tres valores enteros de canal que representa (`rgb(255 87 51)`). Hex y RGB son los dos formatos sobre los que se ha construido cada hoja de estilos web, herramienta de diseño y canalización de píxeles de imagen desde finales de los 90, y la conversión entre ellos es la operación más común en herramientas de color. Hex es el formato escueto de copy-paste que Figma, Sketch, Photoshop y cada PDF de guía de marca exportan por defecto — una cadena de 6 caracteres en base 16 que cabe cómodamente en una propiedad personalizada CSS y se lee de un vistazo una vez que sus ojos aprenden los patrones. RGB es el formato direccionado por canales que esperan las APIs de hardware, las llamadas de dibujo en canvas, la manipulación de búfer de imagen, los atributos de color de OpenGL y la mayoría de SDKs gráficos — tres enteros 0-255 separados (o flotantes normalizados 0-1) que se asignan directamente a los subpíxeles rojo, verde y azul de un LCD o a los fósforos de un CRT. Convertir entre ellos es mecánico: divida el hex en tres pares de 2 dígitos y lea cada par como un número en base 16. Esta herramienta ejecuta esa conversión en vivo mientras escribe, sin botón "Convertir" que pulsar, y expone cada otro formato de color común (HSL, OKLCH, OKLAB, HSV, HWB, CMYK, además de los 148 colores CSS con nombre) junto con la salida RGB de forma gratuita.
**El propio formato RGB merece una mirada más detenida.** El sRGB estándar de 24 bits codifica cada canal como un entero sin signo de 8 bits de 0 a 255 — 256 valores por canal, 16 777 216 colores en total (256³). El estándar de referencia es IEC 61966-2-1, la especificación sRGB de 1996 anclada a los primarios de fósforos CRT que dominaban las pantallas en ese momento. CSS expone RGB a través de la función `rgb()` en tres variantes sintácticas. La forma original de CSS 1 usa separadores por coma: `rgb(255, 87, 51)`. CSS Color 4 (Candidate Recommendation del W3C desde 2022) añadió una forma moderna con espacios: `rgb(255 87 51)`, con un canal alfa opcional tras una barra: `rgb(255 87 51 / 0.5)`. Ambas formas son intercambiables y llegan en cada navegador evergreen. RGB también acepta canales en porcentaje: `rgb(100% 33% 20%)` es equivalente a `rgb(255 87 51)`, a veces preferido en hojas de estilo escritas a mano por legibilidad. Específicamente para el alfa hay una función `rgba()` separada por compatibilidad heredada — `rgba(255, 87, 51, 0.5)` es la forma canónica que funciona en todas partes hasta IE 9. CSS Color 4 también añadió una sintaxis `color(srgb 1 0.341 0.2)` para direccionamiento sRGB explícito, y funciones paralelas `color(display-p3 ...)` y `color(rec2020 ...)` para valores de gama amplia que el hex no puede codificar.
Las matemáticas de conversión van en ambas direcciones limpiamente. **HEX a RGB**: analice el hex de 6 dígitos `#RRGGBB` como tres números en base 16 de 2 dígitos vía `parseInt(hex.slice(1, 3), 16)`, `parseInt(hex.slice(3, 5), 16)`, `parseInt(hex.slice(5, 7), 16)`. Para la abreviación de 3 dígitos `#RGB`, expanda cada dígito duplicándolo (`#F73` → `#FF7733`) antes de analizar — esto *no* es un relleno a la izquierda. Para el alfa de 8 dígitos `#RRGGBBAA`, analice el par final de la misma manera y divida por 255 para obtener el flotante alfa 0-1. Para la abreviación alfa de 4 dígitos `#RGBA`, expanda cada dígito primero (`#F738` → `#FF773388`). **RGB a HEX** es lo inverso: para cada canal, llame a `value.toString(16).padStart(2, '0')` para obtener el par hex de 2 dígitos (el `padStart` importa — sin él, el valor de canal 5 se serializaría como `'5'` en lugar de `'05'`, produciendo hex inválido), luego concatene. Ambas direcciones son bit-exactas: 16² = 256, coincidiendo exactamente con el rango de bytes 0-255 que ocupa cada canal, así que un viaje de ida y vuelta HEX → RGB → HEX produce la entrada original textualmente sin deriva de coma flotante.
**¿Por qué hex frente a RGB?** Hex es más corto, nativo de las herramientas de diseño, y el formato que su ojo aprende con el tiempo — la mayoría de desarrolladores front-end pueden identificar `#3b82f6` como el blue-500 de Tailwind a simple vista. RGB es direccionamiento explícito de canales, más fácil de calcular en JavaScript, y el único de los dos que acepta alfa y porcentajes limpiamente. Los dos formatos coexisten porque resuelven problemas distintos. Las hojas de estilo web y las guías de marca se inclinan por hex porque el coste de copy-paste domina. Las llamadas de dibujo en canvas, el procesamiento de imágenes, las APIs de tiras LED de hardware, y cualquier código que haga aritmética por canal se inclinan por RGB porque indexar en una tupla supera a cortar una cadena. El cambio entre ellos sucede docenas de veces en un proyecto web típico — pegue un hex de Figma, conviértalo a enteros RGB para una llamada `ctx.fillStyle = ...`, conviértalo de vuelta a hex para una definición de variable CSS.
El flujo HEX → RGB de esta herramienta es una dirección de una familia de 5 radios que comparten el mismo convertidor de color unificado subyacente. El convertidor de color unificado dedicado es el centro — muestra los 9 formatos editables simultáneamente y es la herramienta correcta cuando su flujo de trabajo necesita más que solo hex y RGB. Los radios de dirección única apuntan a intenciones específicas de búsqueda en Google: el inverso convertidor RGB a hex para la dirección inversa, el convertidor hex a HSL para el espacio cognitivo heredado del diseñador, el convertidor hex a OKLCH para sistemas de diseño modernos perceptualmente uniformes (Tailwind v4 y shadcn ahora vienen por defecto en OKLCH), y el convertidor hex a CMYK para aproximaciones de preparación de imprenta. Los cinco radios y el centro comparten el mismo motor de análisis y las mismas matemáticas de conversión, así que los resultados están garantizados idénticos a lo largo de la familia. Cada conversión se ejecuta localmente en su navegador — sus códigos hex nunca se suben, nunca se registran, y se disparan cero peticiones de red mientras escribe. Verifique en DevTools.