Encodage Base64 : Comment ça marche et quand l'utiliser

Comprendre l'encodage et le décodage Base64 — URIs de données, charges utiles d'API, pièces jointes d'e-mail et conversion binaire-texte.

6 min de lecture Encodage · Web · APIs 6 sections + FAQ

Base64 est un schéma d'encodage binaire-vers-texte qui convertit des données binaires arbitraires en une chaîne de 64 caractères ASCII imprimables. Il ne chiffre pas — il encode seulement.

Vous rencontrez Base64 partout : URIs de données en CSS, tokens JWT, pièces jointes d'e-mail, corps de requêtes API.

Qu'est-ce que l'encodage Base64

Base64 est défini dans la RFC 4648. Il représente des données binaires avec 64 caractères : A–Z, a–z, 0–9, + et /. Chaque 3 octets produisent 4 caractères Base64, avec une surcharge de 33%.

Outil gratuit Encodeur / Décodeur Base64 Encodez et décodez des chaînes Base64 instantanément dans votre navigateur

Comment fonctionne Base64 (l'algorithme)

L'algorithme d'encodage divise les octets d'entrée en groupes de 6 bits. Chaque groupe de 6 bits est mappé à un caractère dans l'alphabet. Trois octets d'entrée produisent quatre groupes de 6 bits, donc quatre caractères de sortie.

Base64 dans les URIs de données

Un URI de données intègre le contenu d'un fichier directement dans une URL. Le format est data:[mediatype];base64,[data]. Cela permet d'intégrer des images et d'autres actifs dans HTML ou CSS sans requêtes HTTP séparées.

<!-- Image inline comme URI de données -->
<img src="data:image/png;base64,iVBORw0KGgo..." />

/* Police inline en CSS */
@font-face {
  src: url('data:font/woff2;base64,d09GMgAB...');
}
Outil gratuit Encodeur image vers Base64 Convertissez n'importe quelle image en URI de données Base64

Base64 dans les APIs et charges JSON

JSON ne supporte que le texte — les données binaires ne peuvent pas être intégrées directement. Base64 résout ce problème : le contenu binaire est encodé en chaîne Base64 et inclus comme champ JSON.

Base64 dans les e-mails (MIME)

L'e-mail a été conçu à l'origine pour le texte ASCII 7 bits. Les pièces jointes binaires doivent être encodées pour la transmission. MIME utilise Base64 comme encodage standard pour les pièces jointes.

Encodage vs chiffrement

Base64 est un encodage, pas un chiffrement. Il n'offre aucune sécurité — toute chaîne Base64 peut être décodée trivialement. N'utilisez jamais Base64 pour cacher des données sensibles.

Outil gratuit Formateur et Validateur JSON Formatez, validez et minifiez des données JSON

Questions fréquemment posées

À quoi sert Base64 ? +
Base64 est utilisé pour encoder des données binaires en texte : URIs de données en HTML/CSS, charges JSON d'API, pièces jointes d'e-mail (MIME) et tokens JWT.
De combien Base64 augmente-t-il la taille du fichier ? +
Base64 ajoute environ 33% de surcharge. Chaque 3 octets deviennent 4 caractères Base64. Un fichier de 10 Ko devient ~13,3 Ko.
Base64 est-il identique au chiffrement ? +
Non. Base64 est un encodage, complètement réversible sans clé. N'importe qui peut décoder une chaîne Base64. Le chiffrement nécessite une clé secrète.
Qu'est-ce que le Base64 URL-safe ? +
Le Base64 URL-safe remplace + par - et / par _, rendant la sortie sûre pour les chemins d'URL et les paramètres de requête.
Comment décoder une chaîne Base64 ? +
En JavaScript : atob(chaîneBase64). En Node.js : Buffer.from(chaîneBase64, "base64").toString(). En Python : base64.b64decode(chaîneBase64).
Quelle est la différence entre Base64 et Base64URL ? +
Base64URL utilise - au lieu de + et _ au lieu de /, et omet le rembourrage. Il est utilisé dans les tokens JWT, les codes OAuth et les paramètres URL.
Puis-je encoder n'importe quel fichier avec Base64 ? +
Oui. Base64 est agnostique au format : il encode les octets bruts quel que soit le type de fichier.