Aller au contenu
Toolbrik
Retour au blog

Base64 : ce que c'est, quand l'utiliser, et quand c'est une erreur

14 avril 2026 · Outil associé: Encodeur/Décodeur Base64

Base64 apparaît dans les JWT, les URI data:, les en-têtes d'authentification basique, et la moitié des emails avec pièces jointes du monde. Et pourtant, c'est l'une des techniques les plus mal comprises : beaucoup pensent que Base64 est une forme de chiffrement. Ce n'est pas le cas.

Ce que ça fait exactement

Base64 transforme des données binaires en texte imprimable, avec 64 caractères sûrs (A-Z, a-z, 0-9, +, /). Ça ne compresse ni ne cache rien : c'est un encodage réversible par conception, réversible au point qu'on pourrait le décoder mentalement en connaissant la table. Son unique rôle est de garantir que des octets arbitraires survivent intacts à travers des canaux prévus pour du texte (JSON, XML, formulaires, email).

Le coût : 33 % de taille en plus

Chaque tranche de 3 octets de données d'origine devient 4 caractères Base64. C'est un surcoût fixe de 33 %, toujours. C'est pourquoi intégrer une image en data:image/png;base64,... dans du HTML ou du CSS n'est rentable que pour de très petites icônes (quelques Ko) : vous économisez une requête HTTP, mais vous payez en poids supplémentaire et perdez la mise en cache indépendante du fichier.

Où ça a vraiment du sens

  • JSON Web Tokens (JWT) : le header et le payload sont encodés en Base64URL (une variante utilisant - et _ au lieu de + et /, sans padding =, pour tenir dans une URL sans échappement).
  • En-têtes Authorization: Basic : identifiant et mot de passe concaténés et encodés — c'est pourquoi HTTP Basic Auth exige HTTPS, décoder du Base64 étant trivial.
  • Joindre des binaires en JSON : quand multipart/form-data n'est pas possible, Base64 est le moyen standard de mettre une image ou un PDF dans un champ texte.

L'erreur à éviter

Si vous devez cacher une donnée (un mot de passe, un jeton secret en transit), Base64 ne protège absolument rien — c'est de l'encodage, pas du chiffrement. Pour ça, utilisez TLS pour le transport et, si vous avez besoin d'un vrai chiffrement au repos, quelque chose comme AES avec notre outil de chiffrement AES-256, qui exige bien un mot de passe et ne peut pas être inversé sans lui.

Vous pouvez encoder et décoder du texte ou des images avec le convertisseur Base64 (variante URL-safe incluse), ou convertir directement une image en URI data: avec le convertisseur d'image en Base64 — le tout dans votre navigateur, sans rien envoyer nulle part.