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

Base58 a Base64: convertir claves y hashes

Pega un valor Base58, por ejemplo una dirección de Solana o un hash Qm… de IPFS, y obtén los mismos bytes en Base64 estándar. Cada 1 inicial se conserva como byte cero, así que el número de bytes es exacto.

Gratis sin registro, sin límites Local no se sube nada Bytes exactos conserva los ceros iniciales 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 Base58 a Base64

  1. Pega la cadena Base58 en Entrada · Base58. Los saltos de línea y los espacios se ignoran.
  2. Si no usa el alfabeto de Bitcoin, cambia el Alfabeto bajo la entrada a Flickr o Ripple.
  3. Lee el Base64 en Salida · Base64. Bajo la salida, desmarca Relleno (=) para obtener Base64 sin relleno, o pon el Ajuste de línea en 64 o 76 columnas.
  4. Pulsa Copiar salida, o usa Base64 → Base58 en el selector de dirección para el camino inverso; la página Base64 a Base58 empieza en esa dirección.

Los contadores bajo la herramienta muestran la longitud de entrada, el número de Bytes decodificados y la longitud de salida. El número de bytes es la forma más rápida de comprobar que pegaste la clave entera: 32 para una clave pública de Solana, 64 para una firma o un par de claves, 34 para un CIDv0 de IPFS.

Ejemplos

Base58Base64Bytes
9AjdvzrSGVsbG8=5, el texto Hello
11111111111111111111111111111111AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=32 bytes cero
TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DABt324ddloZPZy+FGzut5rBy0he1fWzeROoz1hX7/AKk=32, programa SPL Token de Solana
QmQudp5N7EzTxrBk3yESEKyEroMYNd7R22G2KWffwNZyzqEiAmKoa2duWGnt1dGt+P/QHWKcMVS/3q7PyM+g2Q4Igtig==34, CIDv0 de IPFS
1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNaAGLpB7FcvyfVQlOZ6/bw+1DruI8Ywpt9kw==25, dirección Bitcoin con suma de comprobación

Todo CIDv0 se convierte en un Base64 que empieza por EiA: es la cabecera multihash 12 20 (SHA-256, 32 bytes). Quita los dos primeros bytes y tendrás el resumen solo, tal como lo imprime una herramienta SHA-256.

Por qué los datos de Solana aparecen en las dos codificaciones

Solana muestra las claves públicas, los ID de programa y las firmas de transacciones en Base58 en monederos y exploradores. Su API JSON-RPC, en cambio, acepta transacciones serializadas en Base64 o Base58 y marca Base58 como la opción lenta y obsoleta. Los datos de las cuentas llegan en Base64 cuando pides esa codificación. Así que la misma clave de 32 bytes puede aparecer en Base58 en un sitio y dentro de un Base64 en otro.

La conversión no cambia los bytes, lo que la convierte en una forma segura de comparar dos valores: si una clave Base58 y una clave Base64 dan aquí el mismo Base64, son la misma clave.

De Base58 a Base64 en Python

La biblioteca estándar tiene Base64 pero no Base58, así que la primera mitad es un bucle corto:

import base64

ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"

def base58_to_base64(s: str) -> str:
    n = 0
    for ch in s:
        n = n * 58 + ALPHABET.index(ch)
    body = n.to_bytes((n.bit_length() + 7) // 8, "big")
    zeros = len(s) - len(s.lstrip("1"))
    return base64.b64encode(b"\0" * zeros + body).decode()

base58_to_base64("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA")
# 'Bt324ddloZPZy+FGzut5rBy0he1fWzeROoz1hX7/AKk='

ALPHABET.index lanza ValueError con caracteres fuera de Base58, como 0 o l. Hay más sobre Base64 en Python en la página de Python.

Problemas habituales

  • Falta un byte. El convertidor que usaste antes eliminó un byte cero inicial. Esta página los conserva; compara las salidas.
  • Error en un 0, O, I o l. Esos caracteres no son Base58. Busca un error al copiar o de OCR.
  • La entrada empieza por bc1, 0x o bafy. Son Bech32, hex y Base32 (CIDv1 de IPFS) respectivamente, no Base58. Para un CIDv1, el decodificador Base32 explica cómo leerlo.
  • La salida tiene 4 bytes más de lo esperado. La cadena era Base58Check y la suma de comprobación sigue incluida.

Preguntas frecuentes

¿Cómo convierto una clave pública de Solana a Base64?

Pega la dirección en la entrada. Una clave pública de Solana válida se decodifica exactamente en 32 bytes, así que la salida Base64 siempre tiene 44 caracteres y termina en un =, o 43 sin relleno.

¿Por qué el Base64 empieza por A?

La entrada Base58 empezaba por 1, que se decodifica como un byte cero. Base64 toma su primer carácter de los primeros 6 bits, y seis bits a cero son A. Por eso la dirección Bitcoin 1A1zP1… se convierte en AGLp….

¿Cómo obtengo Base64 URL-safe?

Copia el resultado en Base64 a Base64URL, que cambia + y / por - y _ y quita el relleno. Desmarca Relleno (=) aquí si solo necesitas quitar el =.

¿La salida cambia con cadenas Base58Check?

La conversión es la misma, pero entonces el Base64 incluye el byte de versión y la suma de comprobación de 4 bytes. Decodifica primero con la herramienta Base58Check si solo quieres la carga útil.