Encodeur et décodeur hexadécimal (Base16)

Convertissez du texte, des fichiers ou des octets bruts en hexadécimal, et inversement. Choisissez la casse, un séparateur et un préfixe 0x ou \x ; le décodeur nettoie pour vous les formats hexadécimaux courants.

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

Mode d’emploi

  1. Choisissez Encoder pour transformer du texte en hexadécimal, ou Décoder pour retrouver le texte à partir de l’hexadécimal.
  2. Saisissez ou collez les données, ou ouvrez un fichier pour afficher ses octets en hexadécimal.
  3. Réglez les options : Majuscules, un séparateur (Aucun, Espace ou Deux-points) et un préfixe (Aucun, 0x ou \x).
  4. Copiez le résultat ou téléchargez-le sous forme de fichier.

Qu’est-ce que l’hexadécimal (Base16) ?

L’hexadécimal utilise seize symboles : les chiffres de 0 à 9 et les lettres de A à F. Un chiffre hexadécimal contient quatre bits ; chaque octet s’écrit donc avec exactement deux chiffres, de 00 à FF. La sortie fait deux fois la taille de l’entrée, plus qu’avec Base64 ou Base32, mais les limites entre les octets restent visibles : c’est pourquoi les débogueurs, les éditeurs hexadécimaux et les outils réseau affichent les données de cette façon.

La RFC 4648 normalise cet encodage sous le nom Base16, avec un alphabet en majuscules et sans remplissage. En pratique, les minuscules sont tout aussi courantes, et les décodeurs, y compris celui-ci, acceptent les deux.

Où l’hexadécimal est utilisé

  • Hachages et clés. Une empreinte SHA-256 fait 32 octets, soit 64 chiffres hexadécimaux. Les clés cryptographiques, les UUID et les sommes de contrôle sont généralement affichés en hexadécimal eux aussi.
  • Adresses matérielles. Les adresses MAC se composent de six octets en hexadécimal, normalement séparés par des deux-points. Le séparateur Deux-points produit exactement ce format.
  • Séquences d’échappement. Les chaînes C, Python et JavaScript acceptent \x suivi de deux chiffres hexadécimaux pour représenter un octet, ce que produit justement l’option de préfixe \x.
  • Formats web. Les couleurs CSS comme #FF8800 correspondent à trois octets en hexadécimal, et l’encodage-pourcent des URL écrit les octets sous la forme % suivi de deux chiffres hexadécimaux.

Décoder l’hexadécimal en texte

Le décodeur se montre tolérant sur la mise en forme. Il accepte les chiffres en majuscules comme en minuscules, ignore les espaces, sauts de ligne, virgules, deux-points, points-virgules et traits d’union, et supprime les préfixes 0x, \x, % et &#x. Vous pouvez coller tels quels la sortie de xxd -p, des adresses MAC, des UUID, des listes de valeurs 0x séparées par des virgules, des échappements %XX et des entités HTML hexadécimales. Chaque octet nécessite deux chiffres : un nombre impair de chiffres est signalé comme une erreur. Les octets sont affichés sous forme de texte dans l’encodage de texte sélectionné.

Pour convertir l’hexadécimal dans un autre encodage sans passer par le texte, utilisez Hexa en Base64 ou Base64 en hexa.

L’hexadécimal dans le code

# Python
'Hi'.encode().hex()                 # '4869'
bytes.fromhex('4869').decode()      # 'Hi'

// Node.js
Buffer.from('Hi').toString('hex')             // '4869'
Buffer.from('4869', 'hex').toString('utf8')   // 'Hi'

# Shell
printf 'Hi' | xxd -p                # 4869

Spécifications

Alphabet0-9 A-F
Taille de sortie2 caractères par octet (200 %)
RemplissageAucun
NormeRFC 4648, section 8
Sensible à la casseNon

Exemples

Entrée (UTF-8)Sortie
Hello, World!48656c6c6f2c20576f726c6421
Base64.is4261736536342e6973
你好e4bda0e5a5bd

Questions fréquentes

Comment convertir de l’hexadécimal en texte ?

Passez en mode Décoder et collez l’hexadécimal. Les espaces, les deux-points et les préfixes 0x ou \x sont supprimés automatiquement, et les octets sont affichés en texte UTF-8, sauf si vous choisissez un autre encodage de texte.

L’hexadécimal doit-il être en majuscules ou en minuscules ?

Les deux représentent les mêmes octets. La RFC 4648 utilise les majuscules, alors que de nombreux langages de programmation affichent des minuscules. Activez Majuscules si le système cible attend des lettres capitales ; le décodeur accepte les deux.

Pourquoi l’hexadécimal est-il deux fois plus long que l’original ?
Chaque octet devient deux caractères, soit une augmentation de 100 %. Base64 n’ajoute qu’environ 33 %. Si la taille compte, convertissez les octets avec Hexa en Base64.
Est-ce la même chose que convertir un nombre en hexadécimal ?
Pas tout à fait. Cet outil encode une suite d’octets, comme les octets d’un texte. Pour convertir un entier isolé, par exemple 255 en FF, utilisez le convertisseur de bases numériques.