Encodeur / Décodeur Base64

Encodez et décodez du texte ou des fichiers à l'aide du codage Base64.

Plain text
Base64
AI
Mode en masse Pro

Qu'est-ce que Encodeur / Décodeur Base64 ?

Base64 est un schéma d’encodage binaire-vers-texte qui représente des données binaires à l’aide de 64 caractères ASCII imprimables (A-Z, a-z, 0-9, + et /). Il est utilisé partout dans le développement web, la messagerie, la cryptographie et la transmission de données pour transporter en toute sécurité des données binaires via des canaux qui ne prennent en charge que le texte. Notre encodeur et décodeur Base64 convertit instantanément entre texte brut et chaînes encodées en Base64, sans limite de taille et avec une prise en charge complète d’Unicode.

Base64 est un encodage, pas un chiffrement. Il ne protège pas les données de la lecture : il change simplement leur représentation. N’importe quelle chaîne Base64 peut être décodée en données d’origine par quiconque y a accès. Il est utilisé pour des raisons de compatibilité : intégrer des images dans le HTML sous forme de data URI, encoder des identifiants d’API pour l’authentification HTTP Basic, transmettre des fichiers binaires par e-mail via MIME et stocker des blobs binaires dans du JSON ou du XML qui ne peuvent contenir que du texte.

Comprendre Base64 est fondamental pour le développement web moderne. Les jetons JWT, les data URI, les en-têtes Basic Auth, les assertions SAML et les fichiers de certificat PEM utilisent tous l’encodage Base64. Un développeur incapable d’encoder ou de décoder rapidement des chaînes Base64 perd du temps à écrire des scripts ponctuels ou à chercher les bonnes options en ligne de commande. Notre outil rend cela instantané et accessible depuis n’importe quel navigateur.

Cas d'utilisation

Voici les façons les plus courantes d'utiliser Encodeur / Décodeur Base64 au quotidien.

En-têtes d’authentification d’API

L’authentification HTTP Basic transmet les identifiants sous la forme « utilisateur:motdepasse » encodés en Base64 dans l’en-tête Authorization : Authorization: Basic dXNlcjpwYXNzd29yZA==. Utilisez l’encodeur pour générer la bonne valeur d’en-tête lors de tests manuels d’API avec curl ou Postman, sans écrire de code. Utilisez le décodeur pour lire et vérifier les identifiants d’un en-tête Authorization existant lors du débogage de problèmes d’authentification.

Intégrer des images dans le HTML et le CSS

Les petites images — icônes, logos, SVG en ligne — peuvent être intégrées directement dans le HTML ou le CSS sous forme de data URI grâce à l’encodage Base64 : src="data:image/png;base64,...". Cela élimine une requête HTTP pour de petits éléments qui nécessiteraient autrement un fichier distinct. Le compromis est une taille de fichier HTML plus importante (Base64 augmente la taille d’environ 33 %). Pour des icônes de moins de 1 Ko, le gain lié à la suppression de la requête l’emporte généralement sur le coût en taille. Notre encodeur gère ce cas directement.

Inspection de jetons JWT

Les JSON Web Tokens se composent de trois segments encodés en Base64URL séparés par des points : en-tête.charge_utile.signature. L’en-tête et la charge utile contiennent des données JSON qui peuvent être décodées sans la clé secrète. Utilisez notre décodeur sur les deux premiers segments (avant et entre les points) pour inspecter l’algorithme, l’émetteur, le sujet, les revendications, l’heure d’émission et l’expiration du jeton — essentiel pour déboguer les problèmes d’authentification JWT sans inspecteur JWT spécialisé.

Encodage des pièces jointes d’e-mail

Les protocoles de messagerie (SMTP, IMAP) transmettent les fichiers binaires en Base64 au sein du format de message multipartie MIME, car l’infrastructure de messagerie a été conçue pour du texte ASCII 7 bits. Les images, PDF et documents joints aux e-mails sont encodés en Base64 dans la source brute de l’e-mail. Comprendre cet encodage est essentiel pour écrire du code d’envoi d’e-mails, déboguer les problèmes de remise et analyser les messages bruts dans des pipelines de traitement de données.

Stockage de configuration et de secrets

L’encodage Base64 est couramment utilisé pour stocker des données binaires dans des variables d’environnement et des fichiers de configuration qui ne prennent en charge que le texte. Les certificats TLS (format PEM), les clés SSH, les jetons binaires et les valeurs de configuration binaires sont encodés en Base64 pour être stockés dans des fichiers .env et des Secrets Kubernetes. kubectl get secret affiche par défaut des valeurs encodées en Base64 : notre décodeur est un moyen rapide d’inspecter les données sous-jacentes sans passer par base64 -d en ligne de commande.

Exemples

Exemple 1

Encoder des identifiants d’API

Créez une valeur d’en-tête HTTP Basic Auth à partir d’un nom d’utilisateur et d’un mot de passe.

Entrée admin:secretpassword123
Sortie YWRtaW46c2VjcmV0cGFzc3dvcmQxMjM=
Exemple 2

Décoder la charge utile d’un JWT

Décodez le deuxième segment d’un JWT pour inspecter ses revendications.

Entrée eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIn0=
Sortie {"sub":"1234567890","name":"John Doe"}
Exemple 3

Encoder du JSON pour une URL

Encodez un objet JSON en Base64 pour l’utiliser dans un cookie ou un paramètre d’URL.

Entrée {"userId": 42, "role": "admin"}
Sortie eyJ1c2VySWQiOiA0MiwgInJvbGUiOiAiYWRtaW4ifQ==

Conseils d'utilisation de Encodeur / Décodeur Base64

  • Base64 augmente la taille des données d’environ 33 % : une image de 1 Mo devient ~1,33 Mo une fois encodée. Tenez-en compte lors de l’intégration d’images en ligne.
  • Base64URL (utilisé dans les JWT) remplace + par - et / par _ pour une sortie sûre dans les URL. Base64 standard et Base64URL ne sont pas interchangeables.
  • Les secrets Kubernetes stockent les données en Base64. Utilisez le décodeur pour inspecter les valeurs des secrets : echo "dmFsdWU=" | base64 -d — ou utilisez notre outil.
  • Ne supposez jamais que des données Base64 sont privées. Elles sont trivialement réversibles. Traitez une chaîne Base64 avec la même sensibilité que son contenu décodé.
  • Les fichiers de certificat PEM (.pem, .crt) sont des certificats DER encodés en Base64 entourés d’en-têtes -----BEGIN CERTIFICATE-----.

Foire aux questions

Base64 est-il la même chose que le chiffrement ?

Non. Base64 est un schéma d’encodage : il change la représentation des données mais n’apporte aucune confidentialité. N’importe qui peut décoder une chaîne Base64 en données d’origine en quelques millisecondes avec n’importe quel décodeur Base64. Le chiffrement, en revanche, transforme les données en texte chiffré qui ne peut être inversé sans la bonne clé. N’utilisez jamais Base64 pour protéger des données sensibles. Utilisez le chiffrement (AES-256, RSA, TLS) pour la confidentialité et Base64 uniquement pour la compatibilité : encoder des données binaires pour des canaux de transmission ne gérant que le texte.

Pourquoi Base64 se termine-t-il par un remplissage « = » ?

Base64 encode 3 octets d’entrée (24 bits) en 4 caractères Base64 (4 × 6 bits = 24 bits). Si la longueur de l’entrée n’est pas divisible par 3, des caractères de remplissage « = » sont ajoutés pour que la longueur de la chaîne encodée soit divisible par 4. Un « = » signifie qu’un octet de remplissage a été ajouté ; « == » signifie deux octets. Certaines applications (comme les JWT et Base64URL) omettent le remplissage, car le décodeur peut déduire la longueur à partir de celle de la chaîne. Base64 standard inclut toujours le remplissage.

Quelle est la différence entre Base64 et Base64URL ?

Base64 standard utilise les caractères A-Z, a-z, 0-9, + et /. Les caractères + et / sont spéciaux dans les URL : ils s’encodent en %2B et %2F dans l’encodage en pourcentage, ce qui rend les chaînes Base64 standard malaisées dans les URL. Base64URL a été conçu pour les URL : il remplace + par - et / par _ afin de produire des chaînes sûres dans les chemins d’URL, les chaînes de requête et les noms de fichiers sans encodage en pourcentage. Les jetons JWT, les jetons OAuth et les paramètres d’URL utilisent Base64URL.

Pourquoi Base64 rend-il les données 33 % plus volumineuses ?

Base64 convertit chaque tranche de 3 octets (24 bits) d’entrée en 4 caractères (chacun représentant 6 bits). Le rapport est de 4/3 ≈ 1,33, donc chaque 3 octets devient 4 caractères — une augmentation de taille de 33 % quel que soit le contenu. Cette surcharge est le coût de l’encodage binaire-vers-texte. Lors de la planification du stockage ou de la bande passante pour du contenu encodé en Base64, multipliez la taille binaire d’origine par 1,34 pour estimer la taille encodée (le 0,01 supplémentaire tient compte du remplissage et des sauts de ligne éventuels).

Base64 peut-il encoder tout type de données ?

Oui. Base64 peut encoder n’importe quelle donnée binaire : images, audio, vidéo, exécutables, archives compressées, clés cryptographiques et séquences d’octets arbitraires. L’encodage est indépendant du contenu : il traite toute entrée comme des octets bruts. Pour une entrée textuelle, l’outil convertit d’abord en octets UTF-8 puis encode ces octets en Base64. Pour du texte non ASCII (chinois, arabe, emoji), cela signifie que la chaîne Base64 encode la représentation en octets UTF-8, et non les points de code Unicode d’origine.

Qu’est-ce qu’un data URI et comment Base64 le rend-il possible ?

Un data URI est un schéma d’URI qui intègre les données directement dans la chaîne d’URI au lieu de pointer vers une ressource externe : data:[typemédia][;base64],données. Par exemple : src="data:image/png;base64,iVBORw0KGgo...". Le paramètre base64 indique que la portion de données est encodée en Base64 plutôt qu’en texte brut encodé en pourcentage. Les data URI permettent d’intégrer des images, des polices et d’autres ressources directement dans le HTML ou le CSS sans requêtes HTTP distinctes, ce qui peut améliorer les performances de chargement des pages pour les petits éléments.