Charger un fichier
  1. base64hub
  2. Autres bases
  3. Base64 en Base58

Convertisseur Base64 en Base58 en ligne

Collez du Base64 et obtenez les mêmes octets en Base58, avec l’alphabet Bitcoin qu’utilisent Solana et IPFS. Le Base64 URL-safe, un remplissage manquant et les sauts de ligne sont acceptés.

Gratuit sans inscription, sans limites Local rien n'est envoyé Tolérant Base64 URL-safe et sans remplissage acceptés Mis à jour 27 oct. 2026
Entrée 0Octets 0 BSortie 0

Traité dans votre navigateur. Cette page ne peut envoyer vos données nulle part – comment le savons-nous

Comment convertir du Base64 en Base58

  1. Collez la chaîne Base64 dans Entrée · Base64. Les caractères standard comme URL-safe fonctionnent, tout comme un remplissage = manquant, des sauts de ligne et un préfixe data:.
  2. Lisez le résultat dans Sortie · Base58.
  3. Choisissez l’Alphabet sous la sortie si la cible n’est pas du Base58 de style Bitcoin. Flickr et Ripple ordonnent les mêmes 58 caractères différemment.
  4. Utilisez Copier la sortie, ou cliquez sur Base58 → Base64 dans le sélecteur de sens pour revenir en arrière. La page Base58 en Base64 démarre dans ce sens.

La conversion passe par les octets bruts : le Base64 est décodé, puis les octets sont encodés en Base58. Rien n’est ajouté ni retiré : une clé de 32 octets reste une clé de 32 octets.

Exemples

Base64Base58Ce que c’est
SGVsbG8=9AjdvzrLe texte Hello
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=1111111111111111111111111111111132 octets nuls : le System Program de Solana
Bt324ddloZPZy+FGzut5rBy0he1fWzeROoz1hX7/AKk=TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DAID du programme SPL Token de Solana
Bt324ddloZPZy-FGzut5rBy0he1fWzeROoz1hX7_AKkTokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DALa même clé en Base64 URL-safe sans remplissage

Les deux dernières lignes sont les mêmes 32 octets écrits de deux façons en Base64 : elles donnent donc le même Base58.

Construire un CIDv0 IPFS à partir d’une empreinte SHA-256

Un CIDv0 est le Base58 d’un multihash : les octets 12 (SHA-256) et 20 (longueur de 32 octets), puis l’empreinte. Beaucoup d’outils affichent une empreinte SHA-256 en Base64, et convertir celle-ci seule ne donne pas une chaîne Qm… :

OctetsBase64Base58
Empreinte seuleJiqGtnblhp7dXRrfj/0B1inDFUv96uz8jPoNkOCILYo=3Zz6yE7jDUVDb6doCEWrK58or4X2TmTLBiJeyWY4NHvq
12 20 + empreinteEiAmKoa2duWGnt1dGt+P/QHWKcMVS/3q7PyM+g2Q4Igtig==QmQudp5N7EzTxrBk3yESEKyEroMYNd7R22G2KWffwNZyzq

Le EiA au début de la deuxième chaîne Base64 est l’en-tête 12 20 encodé : un multihash en Base64 se reconnaît donc facilement. Pour ajouter l’en-tête vous-même, convertissez l’empreinte avec Base64 en hex, placez 1220 devant et encodez le hex sur la page Base58 avec De réglé sur Hex.

Cela n’aide que si vous avez déjà l’empreinte calculée par IPFS. IPFS hache le bloc UnixFS d’un fichier, pas le fichier brut : lancer sha256sum sur un fichier ne reproduit donc pas son CID.

Longueur : Base64 contre Base58

OctetsBase64Base58 (données aléatoires)
162421 ou 22
202826 à 28
324443 ou 44
648887 ou 88

La longueur en Base64 ne dépend que du nombre d’octets. En Base58, elle dépend aussi de la valeur, ce qui explique que les adresses Solana varient entre 32 et 44 caractères. Ne validez pas du Base58 sur sa longueur exacte.

La même conversion en JavaScript

Node.js décode le Base64 nativement ; la partie Base58 nécessite un BigInt :

const ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";

function base64ToBase58(b64) {
  const bytes = Buffer.from(b64, "base64");
  let n = BigInt("0x" + (bytes.toString("hex") || "0"));
  let out = "";
  while (n > 0n) {
    out = ALPHABET[Number(n % 58n)] + out;
    n /= 58n;
  }
  for (const b of bytes) {
    if (b !== 0) break;
    out = "1" + out;
  }
  return out;
}

base64ToBase58("Bt324ddloZPZy+FGzut5rBy0he1fWzeROoz1hX7/AKk=");
// 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'

Buffer.from(…, "base64") accepte aussi une entrée URL-safe. La fonction s’appuie sur le Buffer de Node ; Base64 en Node.js l’explique plus en détail.

FAQ

Peut-on convertir du Base64 en Base58 sans passer par les octets ?

Pas caractère par caractère. Base64 traite des groupes fixes de 6 bits, alors que Base58 considère tous les octets comme un seul nombre : tout convertisseur, cette page comprise, décode donc d’abord le Base64 en octets, puis réencode ces octets.

Pourquoi le résultat Base58 est-il parfois plus court que le Base64 ?

Base58 n’a pas de remplissage, et chaque octet nul en tête ne coûte qu’un caractère. 32 octets font toujours 44 caractères Base64 (avec =), mais 43 ou 44 en Base58, et seulement 32 quand tous les octets sont nuls.

Quel alphabet Base58 Solana utilise-t-il ?

L’alphabet Bitcoin, celui par défaut ici. Flickr et Ripple sont disponibles sous Alphabet si vous en avez besoin.

Pourquoi ma sortie Base58 ne commence-t-elle pas par Qm ?

Qm vient de l’en-tête multihash de 2 octets 12 20. Si votre Base64 ne contient que l’empreinte SHA-256 de 32 octets, ajoutez d’abord ces deux octets devant, comme décrit sur cette page.