Base64 vers Hex

Convertir entre Base64 et hexadécimal

Base64

Hex

Fonctionne localement · Sûr pour coller des secrets
Le résultat apparaîtra ici…
Base64 → Hex

Qu'est-ce que la conversion Base64 vers Hex ?

La conversion Base64 vers hex transforme des données entre deux schémas d'encodage binaire-vers-texte courants. Base64 représente des données binaires à l'aide de 64 caractères ASCII (A-Z, a-z, 0-9, +, /), en encodant 3 octets sous forme de 4 caractères. L'hexadécimal représente chaque octet par exactement deux caractères issus d'un alphabet de 16 symboles (0-9, a-f). La conversion entre ces formats est un processus en deux étapes : décoder la chaîne Base64 en octets bruts, puis ré-encoder ces octets dans le format cible.

La notation hexadécimale est la représentation standard des données binaires en programmation bas niveau, cryptographie et protocoles réseau. Chaque caractère hex correspond directement à un quartet de 4 bits, ce qui facilite la lecture des valeurs d'octets individuels. Un hash SHA-256, par exemple, est presque toujours affiché sous forme de chaîne hex de 64 caractères. Base64, en revanche, est optimisé pour la compacité — le même hash ne prend que 44 caractères en Base64 — et constitue l'encodage standard pour les pièces jointes d'e-mail (MIME), les data URIs et les charges utiles API.

Les deux encodages sont définis dans RFC 4648. La conversion entre eux est sans perte : aucune donnée n'est ajoutée ou supprimée, seule la représentation textuelle change. Cela fait de la conversion Base64 vers hex une opération courante lors du débogage de charges utiles chiffrées, de l'inspection d'empreintes de certificats, ou de la vérification de résultats de hash entre systèmes utilisant des formats d'affichage différents.

Pourquoi utiliser ce convertisseur Base64 vers Hex ?

Cet outil convertit entre Base64 et hexadécimal directement dans ton navigateur. Aucune donnée ne quitte ta machine, et la conversion se fait en temps réel pendant la saisie.

Conversion instantanée
Colle du Base64 ou du hex et vois le résultat immédiatement — sans aller-retour vers un serveur. Le mode bidirectionnel te permet de basculer d'une direction à l'autre en un clic.
🔒
Traitement respectueux de la vie privée
Toute la conversion s'exécute localement dans ton navigateur via JavaScript. Tes clés cryptographiques, hashs et tokens ne transitent jamais sur le réseau.
Mode bidirectionnel
Bascule entre Base64 vers hex et hex vers Base64 avec un seul bouton. L'outil détecte et gère les variantes Base64 standard et URL-safe.
📋
Résultat propre, prêt à coller
La sortie est du hex en minuscules sans délimiteurs ni préfixes — le format attendu par la plupart des APIs, CLIs et langages de programmation. Copie-le en un clic.

Cas d'usage du convertisseur Base64 vers Hex

Développeur frontend
Convertis les réponses API encodées en Base64 vers hex lors du débogage de protocoles binaires, de trames WebSocket ou de contenus ArrayBuffer dans la console DevTools du navigateur.
Ingénieur backend
Traduis les empreintes de hash Base64 issues de signatures JWT ou de réponses HMAC en hex pour les comparer aux valeurs stockées en base de données ou générées par OpenSSL qui utilisent la représentation hex.
DevOps / SRE
Vérifie les empreintes de certificats TLS en convertissant la clé publique Base64 extraite de fichiers PEM vers le format hex affiché par les navigateurs et les outils de supervision.
Analyste en sécurité
Inspecte les clés de chiffrement et vecteurs d'initialisation (IV) qui arrivent en Base64 dans le trafic API — convertis-les en hex pour une analyse octet par octet dans Wireshark ou CyberChef.
Ingénieur data
Transforme les colonnes binaires encodées en Base64 issues de bases de données (PostgreSQL bytea, MongoDB BinData) en hex pour la comparaison, la journalisation ou les scripts de migration.
Étudiant / Apprenant
Comprends la relation entre Base64 et hexadécimal en voyant comment les mêmes octets sont représentés dans chaque format, ce qui renforce les fondamentaux de l'encodage.

Base64 vs encodage hexadécimal

Base64 et hexadécimal convertissent tous deux des données binaires en texte imprimable, mais ils font des compromis différents entre compacité et lisibilité. Le tableau ci-dessous résume les différences clés.

PropriétéBase64Hexadecimal
AlphabetA-Z a-z 0-9 + / =0-9 a-f
Bits par caractère64
Surcoût de taille~33 % de plus que les données brutes100 % de plus que les données brutes
LisibilitéCompact mais opaqueChaque octet visible en 2 caractères
Usage principalE-mail, data URIs, APIsHashs cryptographiques, adresses MAC, couleurs
SpécificationRFC 4648IEEE 754, RFC 4648 sec 8

Exemples de conversion

Le tableau ci-dessous montre des séquences d'octets identiques dans leurs représentations Base64 et hexadécimale. Remarque que la sortie hex est toujours exactement deux fois le nombre d'octets, tandis que la longueur Base64 est égale à ceil(nbOctets / 3) * 4.

Entrée (texte / octets)Base64Hex
HelloSGVsbG8=48656c6c6f
ABQUI=4142
0xFFMHhGRg==30784646
AAE=0001
key=vala2V5PXZhbA==6b65793d76616c
Þ­¾ï (bytes)3q2+7w==deadbeef

Comment fonctionne la conversion

La conversion de Base64 vers hexadécimal est un processus en deux phases. D'abord, la chaîne Base64 est décodée en octets bruts en associant chaque caractère à sa valeur sur 6 bits, en concaténant les bits, puis en les découpant en octets de 8 bits (en ignorant le rembourrage). Cette étape inverse l'encodage défini dans RFC 4648 Section 4.

Ensuite, chaque octet est converti en sa représentation hexadécimale à deux chiffres. La valeur d'octet 0-255 correspond à 00-ff. Un octet comme 0x4F (décimal 79) devient les deux caractères '4' et 'f'. La chaîne hex complète est simplement la concaténation de toutes les paires de deux caractères. La direction inverse (hex vers Base64) applique ces étapes dans l'ordre inverse : analyser les paires hex en octets, puis encoder le résultat en Base64.

Binaire 4 bitsChiffre hex
00000
00011
00102
00113
01004
01015
01106
01117
10008
10019
1010a
1011b
1100c
1101d
1110e
1111f

Exemples de code

Ces extraits exécutables montrent comment convertir entre Base64 et hex en JavaScript, Python, Go et en ligne de commande. Chaque exemple couvre les deux directions de conversion.

JavaScript (browser / Node.js)
// Base64 to Hex
function base64ToHex(b64) {
  const raw = atob(b64)
  return Array.from(raw, c =>
    c.charCodeAt(0).toString(16).padStart(2, '0')
  ).join('')
}
base64ToHex('SGVsbG8=') // → "48656c6c6f"

// Hex to Base64
function hexToBase64(hex) {
  const bytes = hex.match(/.{1,2}/g).map(b => parseInt(b, 16))
  return btoa(String.fromCharCode(...bytes))
}
hexToBase64('48656c6c6f') // → "SGVsbG8="

// Node.js Buffer shorthand
Buffer.from('SGVsbG8=', 'base64').toString('hex')   // → "48656c6c6f"
Buffer.from('48656c6c6f', 'hex').toString('base64')  // → "SGVsbG8="
Python
import base64, binascii

# Base64 to Hex
b64_str = 'SGVsbG8='
raw_bytes = base64.b64decode(b64_str)
hex_str = raw_bytes.hex()            # → '48656c6c6f'
# or: binascii.hexlify(raw_bytes).decode()

# Hex to Base64
hex_str = '48656c6c6f'
raw_bytes = bytes.fromhex(hex_str)
b64_str = base64.b64encode(raw_bytes).decode()  # → 'SGVsbG8='

# One-liner for quick conversion
base64.b64encode(bytes.fromhex('deadbeef')).decode()  # → '3q2+7w=='
Go
package main

import (
    "encoding/base64"
    "encoding/hex"
    "fmt"
)

func main() {
    // Base64 to Hex
    raw, _ := base64.StdEncoding.DecodeString("SGVsbG8=")
    hexStr := hex.EncodeToString(raw)
    fmt.Println(hexStr) // → "48656c6c6f"

    // Hex to Base64
    raw2, _ := hex.DecodeString("48656c6c6f")
    b64Str := base64.StdEncoding.EncodeToString(raw2)
    fmt.Println(b64Str) // → "SGVsbG8="
}
CLI (bash)
# Base64 to Hex (using base64 + xxd)
echo -n 'SGVsbG8=' | base64 -d | xxd -p
# → 48656c6c6f

# Hex to Base64
echo -n '48656c6c6f' | xxd -r -p | base64
# → SGVsbG8=

# OpenSSL alternative
echo -n 'SGVsbG8=' | openssl base64 -d | xxd -p
# → 48656c6c6f

Questions fréquentes

Quelle est la différence entre Base64 et hexadécimal ?
Base64 utilise 64 caractères et encode 6 bits par caractère, ce qui entraîne environ 33 % de surcoût de taille par rapport aux octets bruts. L'hexadécimal utilise 16 caractères et encode 4 bits par caractère, ce qui entraîne 100 % de surcoût — exactement le double de la taille d'origine. Base64 est plus compact ; hex est plus lisible par l'humain car chaque octet correspond à exactement deux caractères.
La conversion Base64 vers hex est-elle avec perte ?
Non. Base64 et hex sont tous deux des encodages déterministes et réversibles des mêmes octets sous-jacents. La conversion entre eux n'altère, ne compresse ni ne chiffre les données. La séquence d'octets bruts est identique avant et après la conversion — seule la représentation textuelle change.
Pourquoi ma sortie hex est-elle plus longue que l'entrée Base64 ?
Hex produit toujours 2 caractères par octet, tandis que Base64 produit environ 1,33 caractère par octet. Une valeur de 20 octets représente 28 caractères Base64 mais 40 caractères hex. C'est le compromis inhérent : hex est plus volumineux mais chaque limite d'octet est immédiatement visible.
Puis-je convertir du Base64url (Base64 URL-safe) en hex ?
Oui. Base64url remplace + par - et / par _ et omet le rembourrage. Cet outil normalise automatiquement l'entrée Base64url avant la conversion. En code, remplace - par + et _ par /, puis ajoute le rembourrage avant le décodage : les octets résultants sont identiques à ceux du Base64 standard.
Comment convertir un hash SHA-256 de Base64 vers hex ?
Colle le hash Base64 dans cet outil pour obtenir la chaîne hex de 64 caractères. En code : décode la chaîne Base64 en octets (32 octets pour SHA-256), puis encode ces octets en hex. Par exemple, en Python : bytes.fromhex est l'inverse — base64.b64decode(b64_hash).hex() donne la représentation hex.
Que se passe-t-il si l'entrée Base64 contient des espaces ou des sauts de ligne ?
La plupart des décodeurs Base64, y compris cet outil, suppriment les espaces avant le décodage. Les certificats encodés PEM et le contenu encodé MIME encapsulent généralement le Base64 sur 64 ou 76 caractères par ligne. Les sauts de ligne ne font pas partie des données encodées et sont ignorés sans risque lors de la conversion.
Quand utiliser hex plutôt que Base64 ?
Utilise hex quand tu as besoin d'une lisibilité au niveau des octets — inspecter des sorties cryptographiques, déboguer des protocoles binaires, ou spécifier des valeurs de couleur (#ff5733). Utilise Base64 quand la compacité compte — intégrer des données dans du JSON, transmettre par e-mail (MIME), ou construire des data URIs. Pour le stockage et la transmission, Base64 économise environ 33 % d'espace par rapport à hex.