Encoder et décoder en Base64
Collez votre texte, choisissez le sens et le format, copiez le résultat : cet outil convertit du texte en Base64 ou Base64url et inversement – accents et emoji traités correctement en UTF-8 – et réalise l’encodage URL avec des signes pour cent dans les trois variantes courantes. Une saisie invalide est signalée avec sa position.
Comment le calcul est fait
Base64 représente des octets quelconques avec seulement 64 caractères imprimables (A–Z, a–z, 0–9, + et /). Chaque groupe de 3 octets devient 4 caractères ; s’il reste des octets à la fin, un ou deux signes égal comblent l’écart (remplissage, ou padding). Le résultat est environ un tiers plus long que l’original. Des données binaires peuvent ainsi transiter par des canaux qui n’acceptent que du texte – pièces jointes d’e-mail, URL de données (data:image/png;base64,…), authentification HTTP Basic ou JSON.
Base64 n’est pas un chiffrement. N’importe qui peut retrouver l’original sans clé. Ne comptez jamais sur Base64 pour protéger des identifiants.
Base64 ou Base64url ?
Le signe plus et la barre oblique ont un sens particulier dans les URL et les noms de fichiers. Base64url (RFC 4648 § 5) les remplace donc par le signe moins et le tiret bas et omet généralement le remplissage – c’est ainsi que sont encodés les JSON Web Tokens (JWT). Exemple : les octets FB FF donnent +/8= en Base64 et -_8 en Base64url.
Pourquoi l’UTF-8 est important
Base64 encode des octets, pas des lettres. L’outil convertit donc d’abord votre texte en UTF-8 : « é » devient deux octets, un emoji quatre. La fonction btoa() intégrée au navigateur en est incapable et renvoie une erreur pour tout caractère hors Latin-1. Si les octets décodés ne forment pas un texte UTF-8 valide, l’outil les affiche en valeurs hexadécimales.
Encodage URL : trois variantes
- Partie d’une URL (
encodeURIComponent) : encode tout sauf A–Z, a–z, 0–9 et- _ . ! ~ * ' ( )– y compris/ ? & = #. Le bon choix pour une valeur isolée, comme un terme de recherche dans?q=…. - URL complète (
encodeURI) : conserve les caractères qui ont un sens particulier (: / ? # & = +…) et n’encode que les espaces, les lettres accentuées, etc. Pour un lien complet qui doit rester fonctionnel. - Données de formulaire (
application/x-www-form-urlencoded) : la façon dont les formulaires HTML envoient leurs données. Les espaces deviennent+et! ' ( ) ~sont également encodés. Au décodage,+redevient une espace.
Tout caractère hors de l’ensemble autorisé s’écrit % suivi de deux chiffres hexadécimaux par octet UTF-8 (RFC 3986 § 2.1) : espace = %20, é = %C3%A9.
Toutes les conversions ont lieu dans votre navigateur. Votre saisie n’est ni envoyée, ni enregistrée, ni écrite dans la barre d’adresse.
Questions fréquentes
Comment décoder du Base64 ?
Choisissez « Décoder » et le format « Base64 », puis collez le code – le texte en clair apparaît aussitôt. Si le code contient - et _, il s’agit de Base64url : choisissez plutôt ce format.
Base64, est-ce un chiffrement ?
Non. Base64 n’est qu’une autre façon d’écrire les mêmes données et se décode sans clé. Pour protéger des données, il faut un vrai chiffrement, et pour les mots de passe un hachage de mot de passe.
Pourquoi le Base64 se termine-t-il souvent par = ou == ?
Base64 travaille par groupes de 3 octets. S’il reste 1 ou 2 octets à la fin, la sortie est complétée par == ou = pour que sa longueur soit un multiple de 4. Base64url omet généralement ce remplissage.
Quelle différence entre encodeURI et encodeURIComponent ?
encodeURI est prévu pour des adresses complètes et laisse / ? & = # intacts. encodeURIComponent les encode aussi : c’est le bon choix pour la valeur d’un paramètre – sinon un & dans la valeur casserait l’URL.
Pourquoi une espace devient-elle tantôt %20, tantôt + ?
Dans les chemins et selon la RFC 3986, une espace s’écrit %20. Les formulaires HTML (application/x-www-form-urlencoded) l’écrivent +. Au décodage, il faut savoir de quelle variante il s’agit – un vrai signe plus s’y écrit %2B.
De combien un fichier grossit-il en Base64 ?
D’environ 4/3 de sa taille d’origine : 3 octets deviennent 4 caractères. Une image de 300 Ko pèse environ 400 Ko en Base64, un peu plus avec les sauts de ligne MIME.
Sources et références juridiques
- RFC 4648: RFC 4648 – The Base16, Base32, and Base64 Data Encodings (§ 4 Base64, § 5 Base64url, § 3.2 Padding)
- RFC 3986: RFC 3986 – Uniform Resource Identifier (URI): Generic Syntax (§ 2.1 Percent-Encoding, § 2.2 Reserved Characters)
- WHATWG URL Standard – application/x-www-form-urlencoded
- MDN Web Docs – encodeURIComponent()
- MDN Web Docs – encodeURI()
- MDN Web Docs – Base64 (Unicode problem, TextEncoder)
Dernière mise à jour :
Outils similaires
- Générateur de hash : SHA-256, SHA-512, SHA-1, MD5Calculez les hash SHA-256, SHA-384, SHA-512, SHA-1 et MD5 d’un texte ou d’un fichier et vérifiez une somme de contrôle – en local, sans envoi.
- Testeur regexTestez vos expressions régulières JavaScript en direct : correspondances surlignées, groupes de capture, motif expliqué. Gratuit, sans envoi.
- Formater, valider et minifier du JSONValidez votre JSON selon la RFC 8259 : erreur avec ligne, colonne et explication claire. Indentez ou minifiez, triez les clés. En local dans le navigateur.
- Générateur d’UUID : créer et vérifier des UUID v4 et v7Générez des UUID en ligne : version 4 (aléatoire) ou version 7 (triée par date), jusqu’à 1 000 d’un coup. Vérifiez un UUID : version, variante et horodatage.
- Générateur de mot de passeGénérez un mot de passe aléatoire et sécurisé ou une phrase de passe facile à retenir, avec son entropie en bits, calculé dans votre navigateur.
- Vérifier et calculer une clé de LuhnVérifiez un numéro avec l’algorithme de Luhn (modulo 10, ISO/IEC 7812-1) ou calculez sa clé – simple contrôle de format, en local dans le navigateur.