Outils pour Développeurs

Encodage Base64

Encodez un texte en chaîne Base64.

Évaluez cet outil

Comment utiliser Encodage Base64

  1. Tapez ou collez votre texte.
  2. Copiez le résultat Base64.

À propos de Encodage Base64

Base64 est un encodage, pas un chiffrement. Il n'offre absolument aucune sécurité — n'importe qui peut coller le résultat dans un décodeur Base64 et le relire directement. Son véritable rôle est de représenter des données arbitraires à l'aide d'un alphabet sûr de 64 caractères afin qu'elles survivent dans des systèmes conçus uniquement pour transporter du texte : pièces jointes d'e-mail via MIME, URI de type data:, images intégrées dans du CSS ou du HTML, et champs binaires glissés dans du JSON ou du XML.

Le coût est la taille. Base64 regroupe chaque tranche de 3 octets en 4 caractères, si bien que le résultat est environ un tiers plus volumineux que l'entrée, avec un remplissage = à la fin pour arrondir la longueur à un multiple de quatre. C'est précisément cette surcharge qui fait qu'intégrer une grande image sous forme d'URI de données est généralement un mauvais compromis — vous payez 33 % de plus sur chaque octet pour économiser une requête.

Cet encodeur utilise l'alphabet standard, qui comprend + et /. Ce n'est pas la variante compatible URL qui remplace ces caractères par - et _, donc si vous avez besoin de Base64URL, substituez ces deux caractères par la suite. Votre texte est converti en octets UTF-8 avant l'encodage, si bien que les emoji, les accents et les écritures non latines s'encodent tous correctement — un simple appel à btoa() échouerait purement et simplement sur eux. Tout se passe dans votre navigateur, donc coller un vrai contenu ici ne l'envoie nulle part.

Questions fréquentes

Base64 est-il un moyen de cacher ou de protéger des données ?

Non. C'est un encodage réversible, sans clé ni secret. Quiconque voit la chaîne peut la décoder en quelques secondes. Si vous avez besoin de confidentialité, chiffrez les données — Base64 sert uniquement à rendre des octets sûrs à transporter dans des canaux ne gérant que du texte.

Pourquoi le résultat est-il plus long que mon entrée ?

Base64 représente 3 octets de données avec 4 caractères, si bien qu'il coûte environ 33 % de plus que les octets bruts, plus le remplissage. Cette surcharge est incontournable — c'est le prix à payer pour n'utiliser que des caractères ASCII sûrs.

Cela produit-il du Base64 compatible URL ?

Non — il utilise l'alphabet standard avec + et /. Ces deux caractères ont une signification dans les URL. Pour obtenir la variante compatible URL, remplacez + par - et / par _ dans le résultat, et retirez le remplissage = si le destinataire n'en veut pas.

Gère-t-il les emoji et les textes non anglais ?

Oui. Le texte est d'abord encodé en octets UTF-8, puis encodé en Base64, si bien que tout ce que vous pouvez taper fonctionne. C'est l'étape qu'un simple btoa() saute, ce qui explique pourquoi btoa() échoue sur les caractères au-delà de U+00FF.

Que sont les signes = à la fin ?

Du remplissage. Base64 fonctionne par blocs de 3 octets, et lorsque la longueur de l'entrée n'est pas un multiple de 3, le dernier bloc est complété pour que la longueur du résultat reste un multiple de 4. Vous verrez un ou deux caractères =, jamais trois.