Convertisseur Base64 en hexadécimal

Collez du Base64 et affichez les mêmes octets en hexadécimal. Pratique pour comparer des hachages, examiner des clés et des signatures, ou rapprocher des empreintes que différents outils affichent dans des formats différents.

Fonctionne entièrement dans votre navigateur. Aucune donnée n’est envoyée.

Mode d’emploi

  1. Collez la chaîne Base64 dans le champ « Entrée ». La source « De » est déjà réglée sur Base64 et la cible « Vers » sur « Hexadécimal (Base16) ».
  2. Lisez le résultat hexadécimal : deux chiffres hexadécimaux par octet.
  3. Choisissez un autre encodage cible, comme Base58 ou Base32, si vous avez besoin d’un autre format, ou cliquez sur le bouton « Inverser entrée et sortie » pour reconvertir l’hexadécimal en Base64.
  4. Copiez le résultat.

Deux façons d’écrire les mêmes octets

L’hexadécimal et le Base64 représentent tous deux des données binaires sous forme de texte. L’hexadécimal utilise deux caractères par octet, ce qui rend chaque valeur d’octet facile à lire et à comparer. Le Base64 regroupe 3 octets en 4 caractères et produit un texte environ un tiers plus court. Passer de l’un à l’autre ne change que la notation, jamais les données :

ValeurOctetsLongueur en hexaLongueur en Base64
Hachage MD5163224
Hachage SHA-1204028
Hachage SHA-256, clé publique Ed25519326444
Hachage SHA-384489664
Hachage SHA-512, signature Ed255196412888

C’est aussi en hexadécimal que s’affichent les données dans les éditeurs hexadécimaux, les analyseurs de paquets et les débogueurs : convertir du Base64 en hexadécimal vous permet donc de les mettre en regard de ce que montrent ces outils.

Quand passer du Base64 à l’hexadécimal

  • Comparer des hachages. Des outils comme sha256sum affichent de l’hexadécimal, alors que les attributs Subresource Integrity, les hachages de Content Security Policy et les en-têtes de somme de contrôle comme Content-MD5 utilisent le Base64. Convertissez l’une des deux valeurs pour pouvoir les comparer.
  • Empreintes SSH. ssh-keygen -l affiche les empreintes SHA256: en Base64 sans remplissage, tandis que les enregistrements DNS SSHFP stockent le même hachage SHA-256 en hexadécimal. Collez la partie qui suit SHA256: pour obtenir la forme hexadécimale.
  • Clés, IV et signatures. Lorsque vous déboguez du code cryptographique, afficher les octets en hexadécimal permet de vérifier facilement la longueur, de comparer des valeurs et de repérer un octet manquant ou en trop.

Entrées acceptées par le convertisseur

Les espaces et les sauts de ligne de l’entrée Base64 sont ignorés, les caractères compatibles URL - et _ sont acceptés et le remplissage = est facultatif : vous pouvez donc coller tels quels des valeurs copiées depuis du JSON, des JWT ou la sortie d’un terminal. La conversion porte sur les octets décodés : le résultat est l’hexadécimal des données, et non celui des caractères Base64 eux-mêmes. Pour voir les codes hexadécimaux d’un texte, utilisez plutôt l’outil Base16.

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

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

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

Questions fréquentes

Ce convertisseur traite-t-il le texte Base64 ou les octets qu’il représente ?
Les octets. Le Base64 est d’abord décodé, puis chaque octet obtenu est écrit sous forme de deux chiffres hexadécimaux. Si vous voulez les codes de caractères de la chaîne Base64 elle-même, encodez-la comme du texte avec l’outil Base16.
Pourquoi le résultat hexadécimal est-il plus long que l’entrée Base64 ?

L’hexadécimal a besoin de 2 caractères par octet, le Base64 d’environ 1,33. Un hachage SHA-256 de 32 octets occupe 44 caractères en Base64 et 64 caractères en hexadécimal.

Comment obtenir de l’hexadécimal en majuscules ou séparé par des deux-points ?
Les chiffres hexadécimaux ne sont pas sensibles à la casse : une valeur en minuscules et la même en majuscules sont identiques. Pour un style particulier, collez l’hexadécimal dans l’encodeur Base16 en réglant « Format d’entrée » sur Hexa, puis cochez « Majuscules », choisissez « Espace » ou « Deux-points » comme séparateur, ou le préfixe 0x.
Puis-je convertir des valeurs Base64URL issues d’un JWT ou d’une JSON Web Key ?

Oui. Les caractères compatibles URL et l’absence de remplissage sont gérés automatiquement : vous pouvez coller les paramètres de clé et les signatures sans les modifier.