SomeeLab.tools

Encodeur et décodeur Base64

Encodez du texte en Base64 et revenez en arrière, avec une sortie URL-safe pour les jetons et les chaînes de requête. Tout dans le navigateur.

Remplace + et / par - et _ et retire le remplissage =, pour tenir dans une URL ou un JWT.

Base64 n’est pas du chiffrement

Base64 exprime des octets quelconques avec seulement des lettres, des chiffres et quelques symboles. Il existe pour faire passer des données binaires dans des canaux prévus pour du texte : corps de courriel, champs JSON, attributs HTML.

Il n’y a ni clé ni secret : revenir en arrière ne demande rien. Mettre un mot de passe en Base64 dans un fichier de configuration ne le cache pas, cela ajoute seulement une étape pénible. Si quelque chose doit vraiment rester caché, chiffrez-le ou confiez-le à un gestionnaire de secrets.

Quand utiliser URL-safe

Le Base64 standard emploie + et /. Ces deux caractères signifient autre chose dans une adresse : une valeur collée telle quelle dans une chaîne de requête ressort abîmée. Le remplissage = final pose le même souci.

URL-safe est la variante qui corrige ces trois points : + devient -, / devient _, et le remplissage disparaît. C’est exactement l’encodage des trois parties d’un JWT, et souvent celui des codes d’autorisation OAuth ou des valeurs destinées à un nom de fichier. Choisissez URL-safe quand la valeur part dans une adresse, et le standard partout ailleurs.

Le résultat s’allonge

Base64 transforme trois octets en quatre caractères : la sortie est donc environ 33% plus longue que l’entrée. Avant cela vient l’UTF-8, où un émoji pèse quatre octets et une lettre accentuée deux, si bien que le texte grossit déjà avant l’encodage.

Cette hausse compte au moment d’intégrer une image en URL data:. Pour une petite icône, économiser une requête l’emporte. Pour une photographie, la page transporte le fichier entier plus un tiers, et le premier affichage en fait les frais.

Quand le décodage échoue

«Ce n’est pas du Base64» signifie presque toujours que la chaîne a été tronquée, ou que des guillemets et des retours à la ligne se sont invités. L’outil retire déjà les espaces et accepte les caractères URL-safe : s’il refuse encore, c’est la chaîne elle-même qui est incomplète.

«Le résultat est binaire» veut dire que le décodage a fonctionné mais que le résultat n’est pas du texte lisible. Pour une image ou une archive encodée en Base64, c’est la bonne réponse et non une erreur.