Développeur

Qu'est-ce que l'encodage Base64 ? Une explication simple avec exemples

Vous avez déjà vu du Base64 sans le savoir : de longues suites de lettres et de chiffres terminées par « = » dans des e-mails, des API, des jetons et des URL d'images. Voici ce que c'est, comment ça marche et quand l'utiliser.

Réponse rapide

Le Base64 est une façon de représenter n'importe quelles données binaires (images, fichiers, octets chiffrés) avec seulement 64 caractères de texte sûrs : A–Z, a–z, 0–9, + et /, plus = pour le remplissage. Il permet de faire passer des données binaires dans des systèmes qui ne gèrent que du texte, comme le JSON, le HTML et l'e-mail. Il rend les données environ 33 % plus lourdes, et ce n'est pas du chiffrement.

Encodeur Base64 convertissant une phrase UTF-8 avec des emojis en Base64
Du texte UTF-8, emojis compris, encodé en Base64 pendant la saisie. Capture d'écran de notre outil gratuit : Encodeur / décodeur Base64.

Pourquoi le Base64 existe

Les ordinateurs stockent tout sous forme d'octets, et un octet peut prendre 256 valeurs. Mais beaucoup de systèmes ont été conçus pour transporter du texte, et certaines valeurs d'octets y ont un sens particulier : caractères de contrôle, fins de ligne, guillemets ou caractères altérés d'un système à l'autre. Y faire passer du binaire brut peut le corrompre.

Le Base64 résout ce problème en traduisant n'importe quels octets dans un petit alphabet sûr, qui traverse intact n'importe quel système de texte.

Comment fonctionne l'encodage Base64, pas à pas

Encodons le mot Man :

  1. Convertir les caractères en octets. M = 77, a = 97, n = 110.
  2. Les écrire en binaire (8 bits chacun) : 01001101 01100001 01101110.
  3. Les regrouper par blocs de 6 bits : 010011 010110 000101 101110.
  4. Convertir chaque bloc en nombre : 19, 22, 5, 46.
  5. Chercher chaque nombre dans l'alphabet Base64 (A=0 … Z=25, a=26 … z=51, 0=52 … 9=61, +=62, /=63) : 19 = T, 22 = W, 5 = F, 46 = u.

Résultat : Man → TWFu. Tous les 3 octets deviennent 4 caractères, c'est pourquoi la sortie Base64 est environ un tiers plus longue que l'entrée.

À quoi sert le « = » final ?

Quand l'entrée n'est pas un multiple de 3 octets, la sortie est complétée par des = pour que sa longueur soit un multiple de 4. Ma devient TWE= et M devient TQ==.

Les usages courants du Base64

  • Les data URL : intégrer de petites images directement dans le HTML ou le CSS : <img src="data:image/png;base64,iVBORw0KGgo…">.
  • Les pièces jointes d'e-mail : le format MIME encode les pièces jointes en Base64 pour qu'elles traversent les serveurs de messagerie.
  • Les API : envoyer des fichiers ou des données binaires dans du JSON, qui ne gère que du texte.
  • L'authentification HTTP Basic : utilisateur:motdepasse est encodé en Base64 dans l'en-tête Authorization.
  • Les JSON Web Tokens (JWT) : l'en-tête et la charge utile sont en Base64 URL-safe.
  • Les certificats et les clés : les fichiers PEM contiennent du Base64 entre les lignes « BEGIN » et « END ».

Le Base64 n'est pas du chiffrement

N'importe qui peut décoder du Base64 instantanément. Il ne cache rien. Les identifiants HTTP Basic et le contenu des JWT sont lisibles par quiconque les voit, c'est pourquoi ils ne doivent circuler qu'en HTTPS. N'utilisez jamais le Base64 pour « protéger » des mots de passe, des clés d'API ou des données personnelles.

Base64 standard ou URL-safe

Le Base64 standard utilise + et /, qui ont un sens particulier dans les URL et les chemins de fichiers. Le Base64 URL-safe (aussi appelé Base64URL) les remplace :

StandardURL-safe
Caractère 62+-
Caractère 63/_
Remplissage=Généralement omis
Utilisé dansE-mail, data URL, PEMJWT, paramètres d'URL, noms de fichiers

Comment encoder et décoder du Base64

  1. Ouvrez l'encodeur / décodeur Base64 gratuit.
  2. Dans l'onglet Texte, tapez ou collez du texte à encoder, ou du Base64 à décoder. Le résultat se met à jour pendant la frappe.
  3. Activez le mode URL-safe pour les jetons et les URL.
  4. Dans l'onglet Fichier, encodez une image ou un document pour obtenir une chaîne Base64 ou une data URL, ou décodez du Base64 en fichier téléchargeable.

Tout s'exécute dans votre navigateur. Le texte est traité en UTF-8 : les accents, les écritures non latines et les emoji sont restitués correctement.

Essai gratuit : Encodeur / décodeur Base64

Encodez ou décodez du texte et des images en Base64. Fonctionne dans votre navigateur, sans inscription.

Ouvrir l'outil

Le Base64 dans le code

// JavaScript (navigateur, texte ASCII uniquement)
btoa('Man');      // "TWFu"
atob('TWFu');     // "Man"

# Python
import base64
base64.b64encode(b'Man')      # b'TWFu'
base64.b64encode(b'\xfb\xff')          # b'+/8='
base64.urlsafe_b64encode(b'\xfb\xff')  # b'-_8='  (URL-safe)

# Ligne de commande (macOS / Linux)
echo -n 'Man' | base64        # TWFu

Remarque : la fonction btoa() du navigateur n'accepte que les caractères de la plage Latin-1. Pour du texte Unicode complet (avec « € » ou « œ », par exemple), encodez-le d'abord en octets UTF-8, par exemple avec TextEncoder.

Quand ne pas utiliser le Base64

  • Les grandes images sur les pages web. Les intégrer alourdit le HTML ou le CSS, et l'image ne peut pas être mise en cache séparément. N'intégrez que de petites icônes, généralement de quelques Ko.
  • Le stockage de fichiers en base de données quand celle-ci gère les colonnes binaires.
  • Tout ce qui doit rester secret. Utilisez un vrai chiffrement.

Questions fréquentes

Pourquoi le Base64 alourdit-il les fichiers ?

Chaque caractère Base64 transporte 6 bits de données, mais en occupe 8. Ainsi, 3 octets d'entrée deviennent 4 octets en sortie, soit 33 % de plus (un peu plus avec les sauts de ligne).

Comment savoir si une chaîne est en Base64 ?

Elle n'utilise que A–Z, a–z, 0–9, + / (ou - _), sa longueur est souvent un multiple de 4, et elle peut se terminer par = ou ==. Essayez de la décoder pour en être sûr.

Pourquoi mon texte décodé est-il illisible ?

Les données sont probablement un fichier binaire, comme une image ou un PDF, et non du texte. Décodez-les plutôt en fichier.

En résumé

Le Base64 est une couche de traduction qui permet aux données binaires de circuler sans risque dans du texte. Il est indispensable pour les data URL, l'e-mail, les API et les jetons, mais il ajoute 33 % à la taille et n'offre aucune sécurité.

Une information obsolète ou peu claire ? Écrivez à contact@ultratoolsai.com et nous la corrigerons.

Encodeur / décodeur Base64 Gratuit · confidentiel · dans votre navigateur Ouvrir l'outil