Base64 a Hex

Convierte entre Base64 y hexadecimal

Base64

Hex

Se ejecuta localmente · Es seguro pegar secretos
El resultado aparecerá aquí…
Base64 → Hex

¿Qué es la conversión de Base64 a Hex?

La conversión de Base64 a hex transforma datos entre dos esquemas de codificación binario-a-texto muy extendidos. Base64 representa datos binarios usando 64 caracteres ASCII (A-Z, a-z, 0-9, +, /), codificando cada 3 bytes en 4 caracteres. El hexadecimal representa cada byte exactamente con dos caracteres de un alfabeto de 16 símbolos (0-9, a-f). Convertir entre estos formatos es un proceso de dos pasos: decodificar la cadena Base64 a sus bytes brutos y luego recodificar esos bytes en el formato destino.

La notación hexadecimal es la representación estándar de datos binarios en programación de bajo nivel, criptografía y protocolos de red. Cada carácter hex se corresponde directamente con un nibble de 4 bits, lo que facilita leer valores de bytes individuales. Un hash SHA-256, por ejemplo, se muestra casi siempre como una cadena hex de 64 caracteres. Base64, en cambio, está optimizado para la compacidad — el mismo hash ocupa solo 44 caracteres en Base64 — y es la codificación estándar para adjuntos de correo (MIME), data URIs y payloads de API.

Ambas codificaciones están definidas en RFC 4648. La conversión entre ellas es sin pérdida: no se añaden ni eliminan datos, solo cambia la representación textual. Esto hace que la conversión Base64-a-hex sea una operación habitual al depurar payloads cifrados, inspeccionar huellas de certificados o verificar salidas de hash en sistemas que usan distintos formatos de visualización.

¿Por qué usar este conversor de Base64 a Hex?

Esta herramienta convierte entre Base64 y hexadecimal directamente en tu navegador. Ningún dato sale de tu equipo y la conversión ocurre en tiempo real mientras escribes.

Conversión instantánea
Pega Base64 o hex y ve el resultado de inmediato — sin viaje de ida y vuelta al servidor. El modo bidireccional te permite cambiar de dirección con un solo clic.
🔒
Procesamiento con privacidad
Toda la conversión se ejecuta localmente en tu navegador mediante JavaScript. Tus claves criptográficas, hashes y tokens nunca se transmiten por la red.
Modo bidireccional
Cambia entre Base64-a-hex y hex-a-Base64 con un único botón. La herramienta detecta y gestiona tanto las variantes Base64 estándar como las seguras para URL.
📋
Salida limpia, lista para pegar
La salida es hex en minúsculas sin delimitadores ni prefijos — el formato esperado por la mayoría de APIs, CLIs y lenguajes de programación. Cópialo con un clic.

Casos de uso del conversor Base64 a Hex

Desarrollador frontend
Convierte respuestas de API codificadas en Base64 a hex al depurar protocolos binarios, tramas WebSocket o contenidos de ArrayBuffer en la consola DevTools del navegador.
Ingeniero backend
Traduce resúmenes de hash Base64 de firmas JWT o respuestas HMAC a hex para comparar con valores almacenados en OpenSSL o en bases de datos que usan representación hex.
DevOps / SRE
Verifica huellas de certificados TLS convirtiendo la clave pública Base64 de archivos PEM al formato hex que muestran los navegadores y las herramientas de monitorización.
Analista de seguridad
Inspecciona claves de cifrado y vectores de inicialización (IV) que llegan como Base64 en el tráfico de API — conviértelos a hex para análisis a nivel de byte en Wireshark o CyberChef.
Ingeniero de datos
Transforma columnas binarias codificadas en Base64 de bases de datos (PostgreSQL bytea, MongoDB BinData) a hex para comparación, registro o scripts de migración.
Estudiante / Aprendiz
Comprende la relación entre Base64 y hexadecimal viendo cómo los mismos bytes se representan en cada formato, afianzando los fundamentos de codificación.

Base64 vs codificación hexadecimal

Base64 y hexadecimal convierten datos binarios a texto imprimible, pero con distintos compromisos entre compacidad y legibilidad. La tabla a continuación resume las diferencias clave.

PropiedadBase64Hexadecimal
AlfabetoA-Z a-z 0-9 + / =0-9 a-f
Bits por carácter64
Tamaño adicional~33% mayor que el original100% mayor que el original
LegibilidadCompacto pero opacoCada byte visible como 2 chars
Uso principalEmail, data URIs, APIsHashes criptográficos, direcciones MAC, colores
EspecificaciónRFC 4648IEEE 754, RFC 4648 sec 8

Ejemplos de conversión

La tabla a continuación muestra secuencias de bytes idénticas en sus representaciones Base64 y hexadecimal. Observa que la salida hex es siempre exactamente el doble del número de bytes, mientras que la longitud Base64 es igual a ceil(byteCount / 3) * 4.

Entrada (texto / bytes)Base64Hex
HelloSGVsbG8=48656c6c6f
ABQUI=4142
0xFFMHhGRg==30784646
AAE=0001
key=vala2V5PXZhbA==6b65793d76616c
Þ­¾ï (bytes)3q2+7w==deadbeef

Cómo funciona la conversión

Convertir Base64 a hexadecimal es un proceso de dos fases. Primero, la cadena Base64 se decodifica a bytes brutos mapeando cada carácter a su valor de 6 bits, concatenando los bits y dividiéndolos en bytes de 8 bits (descartando el relleno). Este paso invierte la codificación definida en RFC 4648 Sección 4.

Segundo, cada byte se convierte a su representación hexadecimal de dos dígitos. El valor de byte 0-255 se asigna a 00-ff. Un byte como 0x4F (decimal 79) se convierte en los dos caracteres '4' y 'f'. La cadena hex completa es simplemente la concatenación de todos los pares de dos caracteres. La dirección inversa (hex a Base64) aplica estos pasos en orden inverso: analiza pares hex como bytes y luego codifica el resultado en Base64.

Binario de 4 bitsDígito hex
00000
00011
00102
00113
01004
01015
01106
01117
10008
10019
1010a
1011b
1100c
1101d
1110e
1111f

Ejemplos de código

Estos fragmentos ejecutables muestran cómo convertir entre Base64 y hex en JavaScript, Python, Go y la línea de comandos. Cada ejemplo cubre ambas direcciones de conversión.

JavaScript (browser / Node.js)
// Base64 to Hex
function base64ToHex(b64) {
  const raw = atob(b64)
  return Array.from(raw, c =>
    c.charCodeAt(0).toString(16).padStart(2, '0')
  ).join('')
}
base64ToHex('SGVsbG8=') // → "48656c6c6f"

// Hex to Base64
function hexToBase64(hex) {
  const bytes = hex.match(/.{1,2}/g).map(b => parseInt(b, 16))
  return btoa(String.fromCharCode(...bytes))
}
hexToBase64('48656c6c6f') // → "SGVsbG8="

// Node.js Buffer shorthand
Buffer.from('SGVsbG8=', 'base64').toString('hex')   // → "48656c6c6f"
Buffer.from('48656c6c6f', 'hex').toString('base64')  // → "SGVsbG8="
Python
import base64, binascii

# Base64 to Hex
b64_str = 'SGVsbG8='
raw_bytes = base64.b64decode(b64_str)
hex_str = raw_bytes.hex()            # → '48656c6c6f'
# or: binascii.hexlify(raw_bytes).decode()

# Hex to Base64
hex_str = '48656c6c6f'
raw_bytes = bytes.fromhex(hex_str)
b64_str = base64.b64encode(raw_bytes).decode()  # → 'SGVsbG8='

# One-liner for quick conversion
base64.b64encode(bytes.fromhex('deadbeef')).decode()  # → '3q2+7w=='
Go
package main

import (
    "encoding/base64"
    "encoding/hex"
    "fmt"
)

func main() {
    // Base64 to Hex
    raw, _ := base64.StdEncoding.DecodeString("SGVsbG8=")
    hexStr := hex.EncodeToString(raw)
    fmt.Println(hexStr) // → "48656c6c6f"

    // Hex to Base64
    raw2, _ := hex.DecodeString("48656c6c6f")
    b64Str := base64.StdEncoding.EncodeToString(raw2)
    fmt.Println(b64Str) // → "SGVsbG8="
}
CLI (bash)
# Base64 to Hex (using base64 + xxd)
echo -n 'SGVsbG8=' | base64 -d | xxd -p
# → 48656c6c6f

# Hex to Base64
echo -n '48656c6c6f' | xxd -r -p | base64
# → SGVsbG8=

# OpenSSL alternative
echo -n 'SGVsbG8=' | openssl base64 -d | xxd -p
# → 48656c6c6f

Preguntas frecuentes

¿Cuál es la diferencia entre Base64 y hexadecimal?
Base64 usa 64 caracteres y codifica 6 bits por carácter, lo que supone un tamaño adicional de aproximadamente un 33% respecto a los bytes originales. El hexadecimal usa 16 caracteres y codifica 4 bits por carácter, con un 100% de overhead — exactamente el doble del tamaño original. Base64 es más compacto; hex es más legible para las personas porque cada byte se corresponde exactamente con dos caracteres.
¿La conversión de Base64 a hex tiene pérdidas?
No. Tanto Base64 como hex son codificaciones deterministas y reversibles de los mismos bytes subyacentes. Convertir entre ellos no altera, comprime ni cifra los datos. La secuencia de bytes brutos es idéntica antes y después de la conversión — solo cambia la representación textual.
¿Por qué la salida hex es más larga que la entrada Base64?
Hex siempre produce 2 caracteres por byte, mientras que Base64 produce aproximadamente 1,33 caracteres por byte. Un valor de 20 bytes son 28 caracteres Base64 pero 40 caracteres hex. Este es el compromiso inherente: hex ocupa más espacio pero cada límite de byte es inmediatamente visible.
¿Puedo convertir Base64url (Base64 seguro para URL) a hex?
Sí. Base64url reemplaza + por - y / por _ y omite el relleno. Esta herramienta normaliza automáticamente la entrada Base64url antes de la conversión. En código, reemplaza - por + y _ por /, luego añade el relleno antes de decodificar: los bytes resultantes son idénticos al Base64 estándar.
¿Cómo convierto un hash SHA-256 de Base64 a hex?
Pega el hash Base64 en esta herramienta para obtener la cadena hex de 64 caracteres. En código: decodifica la cadena Base64 a bytes (32 bytes para SHA-256) y luego codifica esos bytes en hex. Por ejemplo, en Python: bytes.fromhex es la operación inversa — base64.b64decode(b64_hash).hex() te da la representación hex.
¿Qué ocurre si la entrada Base64 contiene espacios o saltos de línea?
La mayoría de decodificadores Base64, incluida esta herramienta, eliminan los espacios antes de decodificar. Los certificados codificados en PEM y el contenido codificado en MIME suelen envolver Base64 a 64 o 76 caracteres por línea. Los saltos de línea no forman parte de los datos codificados y se ignoran sin problema durante la conversión.
¿Cuándo debería usar hex en lugar de Base64?
Usa hex cuando necesites legibilidad a nivel de byte — inspeccionar salida criptográfica, depurar protocolos binarios o especificar valores de color (#ff5733). Usa Base64 cuando la compacidad importa — incrustar datos en JSON, transmitir por correo electrónico (MIME) o construir data URIs. Para almacenamiento y transmisión, Base64 ahorra aproximadamente un 33% de espacio respecto a hex.