Mode d'emploi
- Choisissez un Format, puis Encoder ou Décoder sous Mode.
- Saisissez le texte dans Texte. Le résultat s'affiche pendant la saisie.
- Lisez Vérification. Si le texte n'est pas valide, corrigez les caractères qu'il indique ; s'il est valide, copiez le Résultat.
Les cinq formats
Chaque format écrit des données binaires avec un jeu fixe de caractères imprimables. Les formats diffèrent par le nombre de caractères utilisés, et par la longueur du résultat par rapport aux données de départ.
- Base32 (RFC 4648, section 6) utilise de A à Z et de 2 à 7. Cinq bits vont dans chaque caractère : huit caractères contiennent donc cinq octets, et le texte est complété par des = jusqu'à un multiple de huit.
- Base32hex (RFC 4648, section 7) utilise de 0 à 9 et de A à V. Il conserve l'ordre de tri des données, ce que le Base32 ne fait pas.
- Base58 utilise l'alphabet de Bitcoin, qui exclut 0, O, I et l pour éviter de confondre des caractères proches. Chaque octet nul en tête devient un 1, et il n'y a pas de remplissage.
- Ascii85 écrit quatre octets sous forme de cinq caractères, de ! à u, soit environ un quart de plus que les données. Quatre octets nuls s'écrivent z.
- Z85 est une version d'Ascii85 conçue pour le code source : quatre octets deviennent cinq caractères d'un alphabet de 85 caractères, sûrs dans une chaîne. Ses données doivent compter un multiple de quatre octets.
Texte et octets
Le texte est encodé en ses octets UTF-8 (RFC 3629) : une lettre comme ğ prend deux octets, et un emoji en prend quatre. Le décodage rend le texte à partir des octets. Lorsque les octets décodés ne sont pas de l'UTF-8 valide, par exemple un fichier ou une clé, la page les affiche en hexadécimal : aucun octet n'est perdu.
Ce que le décodage accepte et refuse
La RFC 4648, section 3.3, précise qu'un décodeur doit refuser les caractères hors de son alphabet. Cette page fait de même : le Base32 n'accepte donc aucune minuscule. Elle ignore les espaces et les sauts de ligne, qui viennent du copier-coller. Le remplissage du Base32 est facultatif. La page refuse aussi un texte Base32 dont le dernier caractère a des bits de remplissage non nuls, ce que la section 3.5 permet à un décodeur.
Exemple détaillé : foobar en Base32
Le texte foobar compte six octets. Le Base32 l'écrit en 16 caractères, MZXW6YTBOI suivi de six signes =, ce qui correspond à la valeur que la RFC 4648, section 10, donne pour BASE32(foobar).
Le tableau ci-dessous est ce que la page affiche pour foobar en Base32, lorsque le Mode est Encoder.
| Champ | Pour foobar |
|---|---|
| Vérification | Encodé en Base32. |
| Résultat | MZXW6YTBOI====== |
| Octets | 6 |
| Caractères | 16 |
Questions fréquentes
Le Base32 est-il une forme de chiffrement ?
Non. Le Base32 écrit seulement les mêmes octets avec un autre alphabet. N'importe qui peut le décoder sans clé : il ne cache rien et ne doit pas servir à protéger des données.
Pourquoi le Base58 exclut-il 0, O, I et l ?
L'alphabet de Bitcoin, utilisé par la page, exclut les caractères qui se ressemblent dans beaucoup de polices. Une valeur recopiée à la main risque donc moins d'être mal lue. Cet alphabet figure dans le code source de Bitcoin Core.
Pourquoi mon texte Z85 est-il refusé ?
Z85 encode quatre octets à la fois : les données doivent donc être un multiple de quatre octets. Au décodage, le texte doit compter un multiple de cinq caractères, et chaque caractère doit appartenir à l'alphabet Z85. Un caractère manquant ou en trop est la cause la plus fréquente.
Pourquoi vois-je de l'hexadécimal au lieu du texte ?
Les octets décodés ne forment pas un texte UTF-8 valide. Les afficher comme du texte perdrait ou modifierait certains octets : la page affiche donc chaque octet en hexadécimal.
Ascii85 est-il la même chose que le Base85 ?
Ascii85 est une version de la base 85, avec les caractères de ! à u et le raccourci z. Z85 est une autre base 85, dérivée d'Ascii85, avec un alphabet différent, sûr dans le code source.
Mon texte est-il envoyé quelque part ?
Non. L'encodage et le décodage se font dans votre navigateur : ce que vous saisissez n'est ni envoyé ni stocké sur notre serveur.
Sources
- RFC 4648 (en anglais) : The Base16, Base32, and Base64 Data Encodings
- RFC 3629 (en anglais) : UTF-8, a transformation format of ISO 10646
- Z85 (en anglais) : ZeroMQ RFC 32, the Z85 encoding
- Bitcoin Core (en anglais) : src/base58.cpp, the Base58 alphabet
- Wikipédia (en anglais) : Ascii85
Chiffres et texte vérifiés pour la dernière fois le mardi 10 novembre 2026.