Subir un archivo
  1. base64hub
  2. Otras bases
  3. Hex a Base64

Convertidor de hex a Base64 para hashes y claves

Pega bytes en hex y obtén los mismos bytes en Base64. Un digest SHA-256 de 64 dígitos se convierte en 44 caracteres Base64, porque el hex se decodifica primero a bytes en lugar de codificarse como texto.

Gratis sin registro, sin límites Local no se sube nada 44 caracteres para un digest SHA-256, no 88 Actualizado 27 oct 2026
Entrada 0Bytes 0 BSalida 0

Se procesa en tu navegador. Esta página no puede enviar tus datos a ninguna parte – cómo lo sabemos

Cómo convertir hex a Base64

  1. Pega el hex en Entrada · Hex. Los espacios, saltos de línea, dos puntos, guiones y prefijos 0x o \x se ignoran, y da igual si está en mayúsculas o minúsculas.
  2. El Base64 aparece en Salida · Base64 mientras escribes.
  3. Bajo la salida, desmarca Relleno (=) si el receptor quiere Base64 sin relleno, y pon Ajuste de línea en 64 (PEM) o 76 (MIME) para una salida ajustada.
  4. Copiar salida, o usa el selector Base64 → Hex para comprobar el resultado en la otra dirección. Base64 a hex es la misma herramienta en sentido contrario.

Digests de hash: hex frente a Base64

Las funciones hash devuelven bytes en bruto. Herramientas de línea de comandos como sha256sum y md5sum imprimen esos bytes en hex, mientras que muchos protocolos esperan ese mismo digest en Base64. Estos son los digests de los cinco bytes hello:

HashHex (de sha256sum y similares)Base64
MD55d41402abc4b2a76b9719d911017c592XUFAKrxLKna5cZ2REBfFkg==
SHA-1aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434dqvTGHdzF6KLavt4PO0gs2a6pQ00=
SHA-2562cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=

Dónde se pide la forma Base64:

  • Subresource Integrity. integrity="sha384-…" en una etiqueta <script> o <link> contiene un digest en Base64. El generador de hashes SRI construye el atributo completo a partir de un archivo.
  • Cabeceras Content-MD5. El RFC 1864 define el valor como el Base64 del digest MD5 de 16 bytes, y los almacenes de objetos que comprueban las subidas con él rechazan la forma hex. Consulta MD5 en Base64.
  • Firmas y HMAC en peticiones a API, que normalmente se envían en Base64. HMAC en Base64 las calcula en cualquiera de las dos formas.
  • Claves y secretos: una clave de 32 bytes impresa por openssl rand -hex 32 se convierte en el valor Base64 de 44 caracteres que esperan muchos archivos de configuración.

Para el SHA-256 de tu propio texto o archivo, SHA-256 en Base64 se salta por completo el paso por hex.

El error típico: codificar el texto hex

echo -n 2cf24d…9824 | base64 da un resultado verosímil pero incorrecto. Codifica los 64 caracteres ASCII del hex en lugar de los 32 bytes que representan, y devuelve 88 caracteres que empiezan por MmNmMjRk. Ese valor se decodifica de vuelta al texto hex, así que nada protesta hasta que falla una firma o una comprobación de integridad. Decodifica primero el hex:

echo -n 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824 | xxd -r -p | base64
# LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=

printf hello | openssl dgst -sha256 -binary | base64
# same result, without going through hex at all

xxd -r -p convierte el hex simple de nuevo en bytes. Viene con Vim; en sistemas mínimos instala el paquete xxd. Con OpenSSL, -binary es lo que hace que el digest salga como bytes en lugar de hex.

Hex a Base64 en código

import base64
base64.b64encode(bytes.fromhex("5d41402abc4b2a76b9719d911017c592")).decode()
# 'XUFAKrxLKna5cZ2REBfFkg=='
Buffer.from("5d41402abc4b2a76b9719d911017c592", "hex").toString("base64");
// 'XUFAKrxLKna5cZ2REBfFkg=='

Las páginas de Python y Node.js cubren las variantes URL-safe y sin relleno. Cuando el digest va en una URL o un JWT, convierte el resultado con Base64 a Base64URL.

Si la conversión falla

  • «número impar de dígitos hex». Cada byte necesita dos dígitos y uno se perdió al copiar. Revisa los dos extremos de la entrada.
  • «carácter inesperado». En la entrada hay algo que no es hex, como una etiqueta sha256: o el nombre de archivo que sha256sum imprime después del digest. Quítalo; Mostrar salta a ese punto.
  • Desplazamientos de un volcado hex. En 00000010: 4865 6c6c, el 00000010 es una posición, no datos, pero es hex válido y se convertirá. Usa la salida de xxd -p, que no lleva desplazamientos.

Preguntas frecuentes

¿Cómo convierto un hash SHA-256 en hex a Base64?

Pega los 64 dígitos hex en la entrada. El resultado son 44 caracteres que terminan en =; por ejemplo, 2cf24dba…9824 se convierte en LPJNul+wow4m6DsqxbninhsWHlwfp0JecwQzYpOLmCQ=. En la línea de comandos: echo -n HEX | xxd -r -p | base64.

¿Por qué mi Base64 es el doble de largo de lo que debería?

La cadena hex se codificó como texto, así que cada dígito hex se convirtió en un byte. Un digest SHA-256 tratado así da 88 caracteres en lugar de 44. Decodifica primero el hex a bytes, que es lo que hace este convertidor.

¿Cuántos caracteres Base64 salen de una cadena hex?

Dos dígitos hex forman un byte, y cada 3 bytes se convierten en 4 caracteres Base64, redondeando a un múltiplo de 4. 32 dígitos hex (MD5) dan 24 caracteres, 40 (SHA-1) dan 28, 64 (SHA-256) dan 44 y 128 (SHA-512) dan 88.

¿Puedo convertir un UUID a Base64?

Sí, pégalo con los guiones. Los 16 bytes de 123e4567-e89b-12d3-a456-426614174000 se convierten en Ej5FZ+ibEtOkVkJmFBdAAA==, 24 caracteres en lugar de 36.