DevToolBoxGRATIS
Blog

Convertidor Hex a RGB: Guía de códigos de color para desarrolladores

8 min de lecturapor DevToolBox

Los colores son los bloques de construccion de toda interfaz de usuario, y los desarrolladores cambian constantemente entre codigos de color hexadecimales y valores RGB. Ya sea que estes diseando un sitio web con CSS, construyendo una app movil o escribiendo un script de visualizacion en Python, entender la conversion entre hex y RGB es esencial. Esta guia completa explica el algoritmo, proporciona ejemplos de codigo y cubre la transparencia alfa.

Prueba nuestro convertidor gratuito de Hex a RGB en linea.

Que son los codigos de color Hex y los valores RGB?

Los codigos de color hexadecimales representan colores con una cadena de 6 caracteres precedida por #. Cada par codifica un canal: rojo, verde, azul. Formato: #RRGGBB, cada par de 00 a FF. CSS tambien soporta la forma abreviada de 3 caracteres como #F00 = #FF0000.

Los valores RGB definen colores con tres numeros decimales (0-255) para rojo, verde y azul. En CSS: rgb(255, 87, 51). Hex y RGB describen el mismo espacio de color (sRGB), la conversion es sin perdida.

Como funciona la conversion Hex a RGB

La conversion de hex a RGB es directa ya que cada par hex mapea a un canal RGB:

  1. Elimina el prefijo #.
  2. Maneja la abreviatura: si tiene 3 caracteres, duplica cada uno.
  3. Divide en pares: 1-2 = Rojo, 3-4 = Verde, 5-6 = Azul.
  4. Convierte cada par de hexadecimal a decimal.

Ejemplo: #1A2B3C da R=26, G=43, B=60 = rgb(26, 43, 60).

La conversion inversa (RGB a hex) convierte cada valor decimal a una cadena hex de dos digitos y las concatena.

Codigos de color Hex comunes y sus valores RGB

Tabla de referencia de colores comunes con sus equivalentes hex y RGB:

ColorHexRGBPreview
Red#FF0000rgb(255, 0, 0)
Green#00FF00rgb(0, 255, 0)
Blue#0000FFrgb(0, 0, 255)
White#FFFFFFrgb(255, 255, 255)
Black#000000rgb(0, 0, 0)
Yellow#FFFF00rgb(255, 255, 0)
Cyan#00FFFFrgb(0, 255, 255)
Magenta#FF00FFrgb(255, 0, 255)
Orange#FF8000rgb(255, 128, 0)
Purple#800080rgb(128, 0, 128)
Coral#FF7F50rgb(255, 127, 80)
Teal#008080rgb(0, 128, 128)
Navy#000080rgb(0, 0, 128)
Gray#808080rgb(128, 128, 128)
Tailwind Blue 500#3B82F6rgb(59, 130, 246)

Cuando usar Hex, RGB o HSL

Los tres formatos describen el mismo espacio sRGB:

Hex (#RRGGBB) es el formato mas compacto y la opcion predeterminada en CSS. Las herramientas de diseno copian colores en hex por defecto.

RGB / RGBA es ideal para manipular canales individualmente y para transparencia alfa.

HSL / HSLA es el formato mas legible, excelente para paletas de colores y temas.

En la practica: hex para colores estaticos, rgba() para transparencia, hsl() para sistemas de color dinamicos.

Conversion Hex a RGB en JavaScript, CSS y Python

JavaScript / TypeScript

Funcion robusta hex-a-RGB que maneja 3, 6 y 8 caracteres:

function hexToRgb(hex) {
  // Remove # if present
  hex = hex.replace(/^#/, '');

  // Handle 3-character shorthand (#F0A -> FF00AA)
  if (hex.length === 3) {
    hex = hex.split('').map(c => c + c).join('');
  }

  // Handle 4-character shorthand (#F0A8 -> FF00AA88)
  if (hex.length === 4) {
    hex = hex.split('').map(c => c + c).join('');
  }

  const r = parseInt(hex.substring(0, 2), 16);
  const g = parseInt(hex.substring(2, 4), 16);
  const b = parseInt(hex.substring(4, 6), 16);

  // Handle 8-character hex with alpha (#RRGGBBAA)
  if (hex.length === 8) {
    const a = parseInt(hex.substring(6, 8), 16) / 255;
    return { r, g, b, a: Math.round(a * 100) / 100 };
  }

  return { r, g, b };
}

// Examples
hexToRgb('#FF5733');    // { r: 255, g: 87, b: 51 }
hexToRgb('#3B82F6');    // { r: 59, g: 130, b: 246 }
hexToRgb('#F00');       // { r: 255, g: 0, b: 0 }
hexToRgb('#FF000080');  // { r: 255, g: 0, b: 0, a: 0.5 }

CSS: Hex vs RGB en la practica

En CSS, hex y RGB son intercambiables:

/* These produce the exact same color */
.element-hex   { color: #3B82F6; }
.element-rgb   { color: rgb(59, 130, 246); }

/* Transparency — both are equivalent */
.overlay-hex   { background: #3B82F680; }      /* 50% opacity */
.overlay-rgba  { background: rgba(59, 130, 246, 0.5); }

/* Modern CSS space-separated syntax */
.modern        { color: rgb(59 130 246); }
.modern-alpha  { color: rgb(59 130 246 / 0.5); }

/* CSS custom properties work with any format */
:root {
  --primary: #3B82F6;
  --primary-rgb: 59, 130, 246;
}
.card {
  background: rgba(var(--primary-rgb), 0.1);
  border: 1px solid var(--primary);
}

Python

Python simplifica la conversion con int():

def hex_to_rgb(hex_color: str) -> tuple[int, int, int]:
    """Convert hex color string to RGB tuple."""
    hex_color = hex_color.lstrip('#')

    # Handle 3-character shorthand
    if len(hex_color) == 3:
        hex_color = ''.join(c * 2 for c in hex_color)

    r = int(hex_color[0:2], 16)
    g = int(hex_color[2:4], 16)
    b = int(hex_color[4:6], 16)

    return (r, g, b)


def rgb_to_hex(r: int, g: int, b: int) -> str:
    """Convert RGB values to hex color string."""
    return f'#{r:02x}{g:02x}{b:02x}'


# Examples
print(hex_to_rgb('#FF5733'))   # (255, 87, 51)
print(hex_to_rgb('#3B82F6'))   # (59, 130, 246)
print(hex_to_rgb('#F00'))      # (255, 0, 0)

print(rgb_to_hex(59, 130, 246))  # #3b82f6
print(rgb_to_hex(255, 87, 51))   # #ff5733

RGB a Hex (JavaScript)

La conversion inversa de RGB a hex:

function rgbToHex(r, g, b) {
  return '#' + [r, g, b]
    .map(v => {
      const hex = v.toString(16);
      return hex.length === 1 ? '0' + hex : hex;
    })
    .join('');
}

// With alpha support
function rgbaToHex(r, g, b, a = 1) {
  const hex = rgbToHex(r, g, b);
  if (a === 1) return hex;
  const alphaHex = Math.round(a * 255).toString(16).padStart(2, '0');
  return hex + alphaHex;
}

// Examples
rgbToHex(255, 87, 51);        // '#ff5733'
rgbToHex(59, 130, 246);       // '#3b82f6'
rgbaToHex(255, 0, 0, 0.5);   // '#ff000080'

Canal Alfa: Hex con transparencia (#RRGGBBAA) y RGBA

Hex y RGB soportan canal alfa. 1.0 (o FF) = opaco, 0.0 (o 00) = transparente.

Hex de 8 digitos (#RRGGBBAA) agrega dos caracteres alfa. Ejemplo: #FF000080 = rojo al 50% de opacidad.

rgba() es la sintaxis mas reconocida: rgba(255, 0, 0, 0.5). Sintaxis moderna: rgb(255 0 0 / 0.5).

Conversion alfa: hex a decimal: dividir entre 255. Decimal a hex: multiplicar por 255 y convertir.

/* Common alpha values: hex ↔ decimal */
100% opacity:  FF = 1.0    →  #FF0000FF  =  rgba(255, 0, 0, 1.0)
 90% opacity:  E6 = 0.9    →  #FF0000E6  =  rgba(255, 0, 0, 0.9)
 80% opacity:  CC = 0.8    →  #FF0000CC  =  rgba(255, 0, 0, 0.8)
 70% opacity:  B3 = 0.7    →  #FF0000B3  =  rgba(255, 0, 0, 0.7)
 60% opacity:  99 = 0.6    →  #FF000099  =  rgba(255, 0, 0, 0.6)
 50% opacity:  80 = 0.5    →  #FF000080  =  rgba(255, 0, 0, 0.5)
 40% opacity:  66 = 0.4    →  #FF000066  =  rgba(255, 0, 0, 0.4)
 30% opacity:  4D = 0.3    →  #FF00004D  =  rgba(255, 0, 0, 0.3)
 20% opacity:  33 = 0.2    →  #FF000033  =  rgba(255, 0, 0, 0.2)
 10% opacity:  1A = 0.1    →  #FF00001A  =  rgba(255, 0, 0, 0.1)
  0% opacity:  00 = 0.0    →  #FF000000  =  rgba(255, 0, 0, 0.0)

Preguntas frecuentes

Como convertir hex a RGB?

Elimina el #, divide en 3 pares de 2 caracteres, convierte cada par de hexadecimal a decimal. #3B82F6 da rgb(59, 130, 246).

Cual es la diferencia entre hex y RGB?

Hex y RGB representan los mismos colores sRGB con diferentes sistemas numericos. Hex usa notacion hexadecimal compacta, RGB usa tres numeros decimales 0-255. #FF0000 y rgb(255, 0, 0) son identicos.

Entender los formatos hex y RGB es una habilidad fundamental. Usa nuestra herramienta para conversiones instantaneas.

Convierte colores al instante con nuestro convertidor gratuito Hex a RGB.

𝕏 Twitterin LinkedIn
¿Fue útil?

Mantente actualizado

Recibe consejos de desarrollo y nuevas herramientas.

Sin spam. Cancela cuando quieras.

Prueba estas herramientas relacionadas

🎨Hex to RGB Converter🎨Color Converter🎨Color Palette GeneratorTWTailwind CSS Color Picker

Artículos relacionados

Guía de degradados CSS: De lo básico a técnicas avanzadas

Domina los degradados CSS: lineales, radiales, cónicos, repetitivos con ejemplos prácticos, efectos de texto y rendimiento.

Gradiente de texto CSS: Cómo crear texto con degradado en CSS puro

Crea texto con degradado impresionante con CSS. Guía con background-clip y estrategias de respaldo.