Aller au contenu
MaxyTools

Base64, encodage d'URL et jetons JWT : comprendre et décoder

Mis à jour le · 4 min de lecture

· Mis à jour le

Une image intégrée dans une page sous forme de longue suite de lettres, une adresse où les espaces deviennent %20, un jeton de connexion à trois blocs séparés par des points : Base64, l'encodage d'URL et les JWT se croisent tous les jours en développement web. Ils se ressemblent, se confondent facilement, et aucun n'est du chiffrement. Voici ce qu'ils font réellement et comment les décoder sans risque.

Base64 : rendre des octets imprimables

Base64 représente des données binaires (une image, un PDF) avec seulement 64 caractères sûrs : A-Z, a-z, 0-9, + et /. Il sert partout où un canal n'accepte que du texte : pièces jointes d'e-mail, images intégrées dans du CSS ou du HTML (préfixe data:), jetons, certains fichiers de configuration.

Le principe : 3 octets (24 bits) sont découpés en 4 groupes de 6 bits, chacun représenté par un caractère. Par exemple « Man » devient « TWFu » et « Hello » devient « SGVsbG8= » (le signe = complète le dernier bloc incomplet). Conséquence chiffrée : Base64 transforme toujours 3 octets en 4 caractères, soit +33 % de volume. Une image de 1 Mo intégrée en data: pèse environ 1,33 Mo.

Répétons-le : Base64 n'est pas du chiffrement. N'importe qui le décode en un instant. Ne l'utilisez jamais pour « cacher » un mot de passe.

Encoder et décoder avec Encodeur et décodeur Base64

  1. Choisissez Encoder ou Décoder, puis collez un texte ou déposez un fichier (24 Mo au maximum : Base64 alourdit d'un tiers et au-delà l'onglet ralentirait).
  2. Le texte est converti en UTF-8 avant l'encodage : accents, arabe et émojis font l'aller-retour sans corruption, contrairement à un simple btoa en JavaScript.
  3. Au décodage, les deux alphabets (standard et « URL-safe » avec - et _ à la place de + et /), la présence ou l'absence des =, les retours à la ligne et un préfixe data:… sont acceptés automatiquement.
  4. Si les octets décodés ne sont pas du texte, l'outil détecte le type (PNG, JPEG, PDF, ZIP…), affiche un aperçu des images et propose le fichier au téléchargement.
  5. Options en sortie : variante URL-safe, sans remplissage (=), retours à la ligne MIME, préfixe data:.

L'encodage d'URL (pourcentage)

Une adresse web ne peut contenir que certains caractères. Les autres sont remplacés par un « % » suivi de deux chiffres hexadécimaux représentant les octets UTF-8. La lettre « é » devient %C3%A9, la lettre arabe « م » devient %D9%85 et l'émoji « 😀 » devient %F0%9F%98%80 (quatre octets). Un espace devient %20, ou + dans un formulaire HTML classique.

Les types d'encodage proposés par l'outil
TypeEncodeÀ utiliser pour
ComposantTout sauf les caractères sûrsLa valeur d'un paramètre (?nom=valeur).
URL entièreGarde / ? # & =Une adresse complète déjà structurée.
FormulaireEspace en +Le corps d'un formulaire HTML.

Au décodage, une erreur (« 100% » ou « %ZZ ») est localisée et expliquée ; le mode tolérant décode ce qui est valide et laisse le reste. Si le résultat contient encore des séquences %XX, l'outil signale un double encodage et propose de décoder encore. La carte « Analyser une URL » découpe une adresse en schéma, identifiant, hôte, chemin et paramètres.

Erreurs fréquentes

  • Prendre Base64 pour un chiffrement et y « cacher » un mot de passe.
  • Encoder deux fois une valeur et obtenir %2520 au lieu de %20.
  • Utiliser l'encodage d'URL complète sur une valeur de paramètre, qui contient alors un & ou un = non encodé et casse la requête.
  • Faire confiance au contenu d'un JWT sans vérifier sa signature.
  • Perdre les accents en encodant avec une fonction qui ne passe pas par UTF-8.

Limites honnêtes

  • L'affichage d'un très long résultat est tronqué, mais la copie et le téléchargement sont complets.
  • La vérification d'un JWT exige la clé : sans elle, seule la lecture est possible.
  • Aucun de ces trois mécanismes ne protège une donnée sensible : pour cela, il faut un vrai chiffrement.

Questions fréquentes

Pourquoi Base64 rend-il les données plus grosses ?

Parce qu'il représente 3 octets par 4 caractères : le volume augmente d'un tiers (33 %), plus un éventuel remplissage final.

Base64 est-il sûr pour cacher une information ?

Non. Il n'a aucune clé et se décode instantanément. Ce n'est pas un chiffrement.

Mon jeton JWT est-il envoyé à un serveur ?

Non. Le jeton, le secret et la clé restent dans votre navigateur.

Que veut dire %20 dans une adresse ?

C'est un espace encodé : le caractère de code 0x20 est écrit avec un % suivi de sa valeur hexadécimale.

Comment décoder une image en Base64 ?

Collez la chaîne (avec ou sans préfixe data:) dans l'outil : il détecte le type de fichier, affiche l'aperçu et propose le téléchargement.

Outils mentionnés dans ce guide

Autres guides

Ces guides sont rédigés par l'équipe MaxyTools d'après le fonctionnement réel de nos outils. Les chiffres donnés sont soit des calculs que vous pouvez refaire, soit des ordres de grandeur annoncés comme tels. Une erreur ? Écrivez-nous depuis la page Contact.