Encodeur et décodeur Base64
Le Base64 écrit n'importe quelle donnée avec 64 caractères sûrs : « Man » devient « TWFu ». Chaque groupe de 3 octets devient 4 caractères, donc le résultat est environ un tiers plus long.
- Vérifié sur des milliers de cas
- Sources : RFC 4648
- Mis à jour le 6 novembre 2026
Votre texte reste sur votre appareil : il n'est ni envoyé ni mis dans l'adresse de la page.
Résultat
23 octets ↔ 32 caractères Base64
Petit défi
Série 0Record 0
Testez-vous : chaque réponse est calculée par l'outil, et les mauvais choix sont les pièges les plus courants.
Comment ça marche
Formule: Caractères = 4 × ⌈octets ÷ 3⌉
Le texte est d'abord transformé en octets en UTF-8 : un octet pour une lettre sans accent, deux à quatre pour les lettres accentuées et les émojis. Les octets sont lus 3 par 3, soit 24 bits découpés en 4 groupes de 6 bits ; chaque groupe, de 0 à 63, désigne un caractère parmi A–Z, a–z, 0–9, + et / (RFC 4648). Quand le dernier groupe n'a que 1 ou 2 octets, des « = » complètent le résultat jusqu'à un multiple de 4. La variante pour les URL remplace + et / par - et _.
Exemples concrets
« Man »
3 octets → 4 caractères : TWFu.
« Ma »
2 octets : un = complète le groupe, TWE=.
« é »
2 octets en UTF-8 : w6k=.
Erreurs fréquentes
Utiliser le Base64 pour protéger un mot de passe.
N'importe qui le décode sans clé : ce n'est pas un chiffrement.
Croire que la taille ne change pas.
30 octets donnent 40 caractères : un tiers de plus.
Mettre du Base64 standard dans une URL : « ??> » donne Pz8+, et le + y devient une espace.
Prenez la variante pour les URL : Pz8-.
Vecteurs de test de la RFC 4648
| Texte | Base64 |
|---|---|
| "" | "" |
| "f" | "Zg==" |
| "fo" | "Zm8=" |
| "foo" | "Zm9v" |
| "foob" | "Zm9vYg==" |
| "fooba" | "Zm9vYmE=" |
| "foobar" | "Zm9vYmFy" |
Taille une fois encodé
| Octets | Caractères |
|---|---|
| 1 | 4 |
| 2 | 4 |
| 3 | 4 |
| 10 | 16 |
| 100 | 136 |
| 1 000 | 1 336 |
| 1 000 000 | 1 333 336 |
Questions fréquentes
Le Base64 est-il un chiffrement ?
Non. N'importe qui peut le décoder, sans clé : il sert seulement à faire voyager des données sous forme de texte (courriels, JSON, URL). Ne l'utilisez jamais pour cacher un mot de passe.
Pourquoi mon Base64 finit-il par = ou == ?
La longueur n'était pas un multiple de 3 octets : un = signifie que le dernier groupe avait 2 octets, == qu'il n'en avait qu'un.
Pourquoi le texte encodé est-il plus long ?
Chaque groupe de 3 octets devient 4 caractères, un tiers de plus, sans compter les = de fin. Les lettres accentuées et les émojis prennent 2 à 4 octets en UTF-8 : ils grossissent encore plus.