Base64 : c'est quoi et à quoi ça sert ?
Pourquoi on encode en Base64, où on le croise (e-mails, data URI, API), et comment encoder/décoder.
Vous croisez du Base64 sans le savoir : pièces jointes d'e-mails, images inline dans du CSS, jetons JWT, clés d'API. Ce n'est ni du chiffrement ni de la compression — c'est un encodage de transport, conçu pour faire passer du binaire dans du texte.
Le principe en 30 secondes
Le Base64 convertit des données binaires en une suite de 64 caractères sûrs
(A-Z, a-z, 0-9, + et /), plus = pour la fin. Coût : environ 33 % de volume en
plus. En échange, le contenu traverse sans risque les systèmes qui n'acceptent que du
texte ASCII.
Où le croise-t-on ?
- ✔ E-mails (MIME) — les pièces jointes partent en Base64
- ✔ Data URI — une image directement dans le HTML/CSS :
data:image/png;base64,iVBORw0…. Testez avec image → Base64 - ✔ Auth HTTP Basic —
Authorization: Basic … - ✔ JWT — les trois segments d'un token sont en Base64URL
- ✔ Certificats et clés — PEM, clés SSH…
Encoder / décoder
L'encodeur-décodeur Base64 fait les deux sens, texte ou
fichier. Attention : le Base64 standard contient + et /, à
éviter dans une URL — utilisez la variante Base64URL (- et _)
ou l'encodeur d'URL.
Les idées reçues
- ✔ « C'est sécurisé » — non : n'importe qui peut décoder. Ne mettez jamais un secret « protégé » par du Base64.
- ✔ « Ça réduit la taille » — non : c'est ~33 % plus lourd.
- ✔ « Ça se compresse » — compressez avant d'encoder, pas après.