Encodage

Base32

Encodage et décodage Base32 (RFC 4648) — texte et fichiers, directement dans le navigateur.

Base32, like Base64, encodes binary data as text, but uses an alphabet of only 32 characters (A-Z2-7) with no easily confused characters (0/O, 1/I). That's why Base32 shows up more often where a string might be typed by a person, not just copy-pasted.

How to use it

Common uses

Things to keep in mind

Base32 grows data by roughly 60% (versus ~33% for Base64) — a trade-off for broader compatibility with case-insensitive systems and manual entry.

Base32hex is a separate variant of the same standard with a different alphabet (0-9A-V) that preserves sort order — it's incompatible with plain Base32.

Article sur cet outil: Base32 : en quoi il diffère de Base64 et quand il est plus pratique

Questions fréquentes

En quoi le Base32 diffère-t-il du Base64 ?

Le Base32 (RFC 4648) utilise un alphabet réduit de 32 caractères (A-Z et 2-7), insensible à la casse, contre 64 pour le Base64. Le résultat est donc plus volumineux (environ 60 % de plus que l'original) mais plus sûr à manipuler dans des contextes sensibles à la casse ou aux caractères ambigus.

Quand utiliser le Base32 plutôt que le Base64 ?

Le Base32 est pratique quand la sortie doit être lisible ou saisie à la main, insérée dans un nom de fichier, un identifiant, ou un système qui ne distingue pas majuscules et minuscules, comme certains DNS ou générateurs de codes TOTP.

Mes fichiers sont-ils envoyés sur un serveur ?

Non, l'encodage et le décodage Base32 s'exécutent entièrement dans votre navigateur. Aucune donnée n'est transmise à un serveur.

Pourquoi l'alphabet Base32 ne contient-il pas les chiffres 0 et 1 ?

Ces chiffres sont facilement confondus avec les lettres O et I/l à la lecture ou à la saisie manuelle, donc la norme RFC 4648 les exclut volontairement de l'alphabet, ne conservant que des caractères non ambigus.

En quoi le Base32 diffère-t-il du Base32hex ?

Le Base32hex (la même RFC 4648) utilise l'alphabet 0-9A-V au lieu de A-Z2-7 et conserve le même ordre de tri pour les chaînes que pour les octets d'origine. Les deux variantes sont incompatibles entre elles.

Articles : Encodage

Base64 : à quoi sert l'encodage et comment il fonctionne

Comment Base64 transforme des données binaires en texte ASCII, et quand c'est réellement utile.

URL Encode/Decode : le percent-encoding dans les liens

Comment les caractères spéciaux d'une URL et de ses paramètres deviennent des séquences %XX.

HTML Entities : afficher des caractères spéciaux en toute sécurité

Pourquoi les caractères < > & doivent être échappés, et comment cela évite de casser le balisage.

JWT : structure du token et ce que signifie « décoder » un JWT

Le header, le payload et la signature d'un JWT, et pourquoi décoder n'est pas la même chose que vérifier la signature.

Unicode Escape : que signifient les séquences \uXXXX

D'où viennent les séquences du type \u0041 dans le JSON et les chaînes JS, et ce qu'elles signifient.

ROT13 et le chiffre de César : une simple substitution de caractères

Pourquoi un décalage de 13 lettres rend ROT13 auto-inverse, et pourquoi on l'utilise encore aujourd'hui.

Punycode : comment les domaines internationalisés fonctionnent dans le DNS

Comment un domaine avec des caractères non latins devient une forme ASCII avec le préfixe xn--.

Le morse : comment le texte devient des points et des traits

Le principe de l'encodage des lettres en points et traits, et où le morse est encore utilisé aujourd'hui.

Data URI : quand intégrer une image directement dans le code

Comment un Data URI intègre le contenu d'un fichier directement en HTML ou CSS, et quand cela en vaut la peine.

Gzip + Base64 : compresser des données pour les transmettre en texte

Pourquoi des données binaires compressées sont aussi encodées en Base64 avant d'être placées dans un champ texte.

XML Entities : échapper les caractères dans les documents XML

Les cinq entités XML obligatoires, sans lesquelles le document se casse à l'analyse.