Le code de cette page n'a pas démarré.

Ouvrir index.html directement depuis un dossier bloque les modules JavaScript, si bien que rien ne se passera au moment de choisir un fichier. Servez plutôt le dossier en http :

powershell -ExecutionPolicy Bypass -File serve.ps1

Ouvrez ensuite http://localhost:8080/.

Encodeur & décodeur Base64 — et URL, entités HTML, hexadécimal et échappements

Base64, encodage pourcent, entités HTML, hexadécimal et échappements antislash, dans les deux sens. Rien n'est collé dans le serveur de quelqu'un d'autre.

Langue: Français
Voir le code
Vos textes sont traités dans votre navigateur. Aucun envoi pour traitement.

Chaque encodage ici est de l'arithmétique sur une chaîne de caractères, faite ici, dans cette page. Les codecs sont écrits à la main et se trouvent dans src/encode.js ; et il n'y a rien d'autre. Cet outil n'a aucune fonction réseau : rien à aller chercher, rien à envoyer. Cela compte ici plus que presque partout ailleurs : ce que les gens collent dans un décodeur Base64 en ligne, c'est un jeton, et coller un jeton dans le site de quelqu'un d'autre, c'est le lui remettre.

Vérification en direct : vérification…

Hors ligne : vérification…

Ne nous croyez pas sur parole : ouvrez les outils de développement, surveillez l'onglet « Réseau » et décodez quelque chose. Pas une seule requête ne transporte un caractère de ce que vous avez collé. Vous pouvez aussi couper la connexion et le décoder quand même.

1 Choisir l'encodage

Dans quel sens

2 Collez-le

vide

3 Emportez le résultat

Rien pour l'instant.

 

Voir en Markdown

Comment encoder ou décoder du Base64 sans l'envoyer

  1. Choisissez l'encodage.Base64 dans les deux alphabets, encodage pourcent pour une valeur seule ou une URL entière, les cinq entités HTML, les octets en hexadécimal et les échappements antislash d'un littéral de chaîne. La note sous le menu dit à quoi sert chacun.
  2. Choisissez le sens.Encoder prend du texte en clair et produit la forme encodée ; Décoder ramène la forme encodée au texte en clair. Le résultat suit votre frappe : changer de sens est un clic, sans rien retaper.
  3. Collez-le, ou déposez le fichier.Tout ce que vous pouvez sélectionner et copier fonctionne. Un fichier déposé sur le sélecteur est lu par votre propre navigateur et mis dans la zone : il n'y a pas d'étape d'envoi à éviter.
  4. Lisez l'erreur, s'il y en a une.Un décodeur qui échoue ici dit ce qu'il a trouvé — un caractère que le Base64 n'utilise pas, un remplissage au mauvais endroit, des octets qui ne sont pas du texte — plutôt que de renvoyer quelque chose de plausible et de faux.
  5. Emportez le résultat.Copiez-le, ou téléchargez-le comme fichier texte. Les compteurs sous la zone disent combien d'octets sont entrés et combien sont sortis.

La version longue

Base64 est-il un chiffrement ? Non - et la différence compte en pratique. Encodage, chiffrement et hachage résolvent trois problèmes différents : l'un se défait par n'importe qui, l'autre par le détenteur de la clé, le dernier par personne. Lequel est lequel, et comment les reconnaître à vue.

Questions

Mon texte est-il envoyé quelque part ?

Non. Chaque encodeur et chaque décodeur de cette page sont des fonctions qui s'exécutent dans votre propre navigateur, sur votre propre matériel. Cet outil n'a aucune fonction réseau : il ne va jamais rien chercher et n'envoie jamais rien, et la Content-Security-Policy de la page nomme chaque adresse qu'elle a le droit de contacter, dont aucune ne nous appartient. C'est la raison de s'en servir pour un jeton d'accès ou un cookie de session : coller l'un de ceux-là dans le décodeur de quelqu'un d'autre, c'est le lui donner.

Le Base64 d'ici est-il le même Base64 que partout ailleurs ?

Oui — il est vérifié par rapport aux vecteurs de test du RFC 4648 plutôt que par rapport à lui-même. Les deux alphabets se décodent, si bien qu'un JWT écrit avec - et _ se lit aussi facilement qu'un autre écrit avec + et /, et une entrée coupée à 64 caractères est recollée pour vous. L'encodage passe par les octets UTF-8, si bien qu'une lettre accentuée ou un émoji survit à l'aller-retour.

Le Base64 est-il un chiffrement ?

Non, et le prendre pour tel est l'erreur classique. Le Base64 est une orthographe : les mêmes octets, écrits dans un alphabet qui survit à une URL, à un courriel ou à une chaîne JSON. N'importe qui peut le relire — cette page le fait en une milliseconde —, il ne cache donc rien et ne protège rien. Si ce que vous avez est secret, il lui faut un vrai chiffrement avant d'être encodé, pas à la place.

Pourquoi le décodage a-t-il échoué ?

Parce que ce qui a été collé n'est pas tout à fait ce que le codec croyait recevoir, et l'erreur dit en quoi : un caractère hors de l'alphabet Base64, un remplissage au mauvais endroit, un signe pourcent sans deux chiffres hexadécimaux derrière, ou des octets qui se décodent bien depuis le Base64 mais ne sont pas du texte UTF-8 — ce qui veut généralement dire que l'original était un fichier et non une chaîne. Le atob du navigateur aurait renvoyé quelque chose de plausible à la place ; être prévenu est tout l'intérêt de coller quelque chose dans un décodeur.

Quelle est la différence entre les deux encodages d'adresse web ?

Une valeur seule, ou l'adresse entière. Encoder une valeur échappe tout ce à quoi une URL donne un sens — les barres obliques, les points d'interrogation, les esperluettes —, ce que vous voulez pour un seul paramètre de requête. Encoder une URL entière laisse l'adresse fonctionner : les barres obliques et le ? restent, et seuls les caractères qu'une URL ne peut pas porter du tout sont échappés. Le premier appliqué à une adresse entière casse l'adresse ; le second appliqué à une valeur perd l'endroit où la valeur s'arrête.

Quelle taille de fichier peut-il traiter ?

Aucune limite n'est fixée ici, puisqu'aucun serveur ne la paie. Le plafond réel est votre machine : quelques mégaoctets de texte ne posent pas de problème, et sur un très long document la page attend une pause dans votre frappe avant de réencoder, plutôt que de vous disputer le clavier.

Est-ce gratuit, et faut-il un compte ?

C'est gratuit, et il n'y a ni compte, ni identification, ni période d'essai, ni limite sur ce que vous collez. Le site affiche de la publicité, et c'est elle qui le finance ; les annonces ne reçoivent rien sur votre texte.

Est-ce que cela fonctionne hors ligne ?

Oui. Chargez la page une fois, coupez ensuite votre connexion et elle continue de travailler. C'est aussi la façon la plus simple de prouver que rien n'est envoyé, car un outil qui expédierait votre texte ailleurs pour le décoder s'arrêterait à l'instant où vous débranchez.