Conversor de Base64 a hexadecimal

Pega un valor en Base64 y verás los mismos bytes en hexadecimal. Resulta útil para comparar hashes, examinar claves y firmas, y cotejar huellas digitales que cada herramienta muestra en un formato distinto.

Se ejecuta por completo en tu navegador. No se sube nada.

Cómo se usa

  1. Pega la cadena Base64 en la entrada. En Origen ya está seleccionado Base64 y en Destino, Hexadecimal (Base16).
  2. Lee el resultado en hexadecimal: dos dígitos hexadecimales por cada byte.
  3. Si necesitas otro formato, elige otra codificación en Destino, como Base58 o Base32, o pulsa el botón Intercambiar entrada y salida para volver a convertir el hexadecimal en Base64.
  4. Copia el resultado.

Dos formas de escribir los mismos bytes

Tanto el hexadecimal como Base64 representan datos binarios como texto. El hexadecimal usa dos caracteres por byte, lo que facilita leer y comparar el valor de cada byte. Base64 agrupa 3 bytes en 4 caracteres y ocupa aproximadamente un tercio menos. La conversión entre ambos solo cambia la notación, nunca los datos:

ValorBytesLongitud en hexadecimalLongitud en Base64
Hash MD5163224
Hash SHA-1204028
Hash SHA-256, clave pública Ed25519326444
Hash SHA-384489664
Hash SHA-512, firma Ed255196412888

Además, el hexadecimal es lo que muestran los editores hexadecimales, los analizadores de paquetes y los depuradores, así que al convertir Base64 a hexadecimal puedes cotejar los datos con lo que ves en esas herramientas.

Cuándo necesitas pasar de Base64 a hexadecimal

  • Comparar hashes. Herramientas como sha256sum muestran el resultado en hexadecimal, mientras que los atributos de Subresource Integrity, los hashes de Content Security Policy y los encabezados de suma de verificación como Content-MD5 usan Base64. Convierte uno de los dos valores para poder compararlos.
  • Huellas SSH. ssh-keygen -l muestra las huellas SHA256: en Base64 sin relleno, mientras que los registros DNS SSHFP guardan ese mismo resumen SHA-256 en hexadecimal. Pega la parte que va después de SHA256: para obtener la forma hexadecimal.
  • Claves, IV y firmas. Al depurar código criptográfico, ver los bytes en hexadecimal facilita comprobar la longitud, comparar valores y detectar un byte que falta o que sobra.

Qué entrada admite el conversor

Los espacios y saltos de línea de la entrada Base64 se ignoran, se aceptan los caracteres seguros para URL - y _, y el relleno = es opcional, así que puedes pegar tal cual valores copiados de JSON, de un JWT o de la salida de la terminal. La conversión trabaja con los bytes decodificados: el resultado es el hexadecimal de los datos, no de los propios caracteres Base64. Si quieres ver los códigos hexadecimales de un texto, usa Base16.

# Shell
printf '%s' "$B64" | base64 --decode | xxd -p

# Python
base64.b64decode(s).hex()

// Node.js
Buffer.from(s, 'base64').toString('hex')

Preguntas frecuentes

¿Se convierte el texto Base64 o los bytes que representa?
Los bytes. Primero se decodifica el Base64 y después cada byte resultante se escribe como dos dígitos hexadecimales. Si quieres los códigos de carácter de la propia cadena Base64, codifícala como texto con la herramienta Base16.
¿Por qué el resultado hexadecimal es más largo que la entrada Base64?

El hexadecimal necesita 2 caracteres por byte, mientras que Base64 necesita unos 1,33. Un resumen SHA-256 de 32 bytes ocupa 44 caracteres en Base64 y 64 caracteres en hexadecimal.

¿Cómo obtengo hexadecimal en mayúsculas o separado por dos puntos?
Los dígitos hexadecimales no distinguen entre mayúsculas y minúsculas, así que ambas formas representan el mismo valor. Si necesitas un estilo concreto, pega el valor en el codificador Base16 con Hexadecimal en Formato de entrada y elige Mayúsculas, el separador Espacio o Dos puntos, o el prefijo 0x.
¿Puedo convertir valores Base64URL de un JWT o de una JSON Web Key?

Sí. Los caracteres seguros para URL y la falta de relleno se gestionan automáticamente, así que puedes pegar los parámetros de las claves y las firmas sin modificarlos.