Subir un archivo
  1. base64hub
  2. Otras bases
  3. Decodificador Base58

Decodificador Base58: de Base58 a hex y texto

Pega una cadena Base58 para ver en hex los bytes que contiene. Los 1 iniciales vuelven como bytes cero, y la salida se puede cambiar a texto o Base64 cuando lo necesites.

Gratis sin registro, sin límites Local no se sube nada Salida en hex texto y Base64 a un clic 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 decodificar Base58

  1. Pega la cadena en Entrada · Base58. Los espacios y saltos de línea se ignoran.
  2. Lee los bytes en Salida · Hex. Bajo la salida puedes cambiar Mayúsc./minúsc., añadir un Separador como un espacio o :, o dividir el volcado en 16 o 32 Bytes por línea.
  3. Si la cadena no es Base58 al estilo Bitcoin, cambia el Alfabeto bajo la entrada a Flickr o Ripple.
  4. Para otras vistas, cambia A: Texto si los datos eran una cadena, Base64 para una API o un archivo de configuración. Base58 a Base64 es una página preparada para esa conversión.
  5. Usa Copiar salida, Descargar para el hex o Guardar bytes para obtener los bytes decodificados como archivo.

Qué contienen las cadenas Base58 habituales

Base58Bytes (hex)Qué es
1111111111111111111111111111111132 × 00System Program de Solana (clave de 32 bytes a cero)
TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA06ddf6e1d765…7eff00a9 (32 bytes)ID del programa SPL Token de Solana
1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa00 62e907b1…ebb88f18 c29b7d93Dirección del bloque génesis de Bitcoin: versión, hash, suma de comprobación
QmQudp5N7EzTxrBk3yESEKyEroMYNd7R22G2KWffwNZyzq1220 262a86b6…e0882d8aCIDv0 de IPFS: cabecera multihash SHA-256, resumen de 32 bytes
9Ajdvzr48656c6c6fEl texto Hello

Leer los bytes te dice la estructura. Un resultado de 25 bytes que empieza por 00 o 05 es una dirección Bitcoin con la suma de comprobación todavía incluida, uno de 34 bytes que empieza por 1220 es un CIDv0, y 32 bytes sin estructura visible son muy probablemente una clave pública.

Los 1 iniciales son bytes cero

En Base58, cada 1 inicial se decodifica como un byte 00, y el resto de la cadena se decodifica como un único número. Este decodificador conserva esos bytes, así que la dirección génesis de arriba devuelve 25 bytes, no 24. Un decodificador que solo convierte el número los pierde, y la primera señal suele ser una clave a la que le falta un byte o una suma de comprobación que nunca coincide.

La regla también funciona al revés: 1111 son cuatro bytes cero, mientras que 2 es el byte único 01.

Cuando falla la decodificación

  • Carácter inesperado "0", "O", "I" o "l". Estos cuatro no están en el alfabeto Base58, que los excluye porque se parecen a otros caracteres. El error indica la posición; suele ser un fallo al copiar a mano.
  • +, / o = inesperado. La cadena es Base64. Usa el decodificador Base64.
  • La entrada empieza por bc1. Es una dirección SegWit Bech32, otra codificación con su propia suma de comprobación y su propio alfabeto. O falla aquí o se decodifica en bytes sin sentido.
  • El hex es correcto, pero le sobran 4 bytes. Decodificaste un valor Base58Check como Base58 simple. Los últimos 4 bytes son la suma de comprobación; quítalos o usa Base58Check.
  • Entrada de más de 64 KB. Base58 trata toda la entrada como un único número, así que la herramienta se detiene en 64 KB para seguir respondiendo. Los valores Base58 reales tienen unas pocas decenas de caracteres.

Decodificar Base58 a hex en JavaScript

Con BigInt, la conversión es corta. Funciona en navegadores y en Node.js:

const ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";

function base58ToHex(s) {
  let n = 0n;
  for (const ch of s) {
    const v = ALPHABET.indexOf(ch);
    if (v < 0) throw new Error(`not Base58: ${ch}`);
    n = n * 58n + BigInt(v);
  }
  let hex = n === 0n ? "" : n.toString(16);
  if (hex.length % 2) hex = "0" + hex;
  const zeros = s.length - s.replace(/^1+/, "").length;
  return "00".repeat(zeros) + hex;
}

base58ToHex("1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa");
// '0062e907b15cbf27d5425399ebf6f0fb50ebb88f18c29b7d93'

Para más manejo de bytes en JavaScript, consulta la página de JavaScript.

Preguntas frecuentes

¿Cómo decodifico una dirección de Solana?

Pégala aquí: la salida hex es la clave pública Ed25519 de 32 bytes. La dirección del System Program 11111111111111111111111111111111 se decodifica en 32 bytes cero, una forma rápida de ver en acción la regla de los ceros iniciales.

¿Por qué mi dirección Bitcoin se decodifica en 25 bytes?

Una dirección legacy es Base58Check: 1 byte de versión, un hash de clave pública de 20 bytes y una suma de comprobación de 4 bytes. La decodificación Base58 simple devuelve los 25 bytes. El decodificador Base58Check verifica la suma de comprobación y la quita por ti.

¿Por qué el decodificador rechaza mi cadena?

Base58 no tiene 0, O, I ni l, así que uno de ellos suele indicar una errata o una codificación distinta. Una cadena con +, / o = es Base64, y 0x… es hex.

¿Cómo convierto Base58 a hex en JavaScript?

Acumula un BigInt dígito a dígito, imprímelo con toString(16) y añade 00 por cada 1 inicial. El fragmento de esta página muestra la función completa.