100 % local — vos données ne quittent jamais votre navigateur

Décodage URL — lisez les paramètres d’un lien

Décodez un texte pourcentage-encodé en forme lisible. Le plus reste un plus, ce qui est juste pour une URL et faux pour un formulaire : la nuance est ici.

Instantané Privé Zéro cookie

Entrée URL-encoded

Sortie Text

Ce que fait cet outil

Chaque séquence %XX devient l’octet que ces deux chiffres désignent, et les octets obtenus sont lus comme du texte UTF-8. caf%C3%A9 donne café, la lettre accentuée faisant deux octets.

Majuscules et minuscules hexadécimales fonctionnent toutes deux.

Le signe plus est le point à connaître

Un plus reste un plus. C’est correct — et ce n’est probablement pas ce que vous attendiez, d’où l’intérêt d’être précis sur la raison.

Deux encodages se ressemblent et divergent sur exactement un caractère :

  • l’encodage pourcent, celui d’un chemin d’URL et d’une chaîne de requête moderne, écrit l’espace %20 et traite + comme un vrai plus ;
  • l’encodage de formulaire (application/x-www-form-urlencoded), ce qu’envoie un formulaire HTML, écrit l’espace +.

Cet outil applique le premier, comme decodeURIComponent dans un navigateur.

Rien dans la chaîne ne dit lequel l’a produite. Un outil qui devinerait corromprait l’autre cas : un plus est un caractère légitime dans une adresse e-mail, un numéro de téléphone, un terme de recherche. Transformer chaque plus en espace détruirait ces valeurs aussi sûrement que les laisser intactes dérange les données de formulaire.

Si votre entrée vient d’un formulaire, remplacez donc + par %20 d’abord. Un rechercher-remplacer, et le résultat est juste.

Ce qu’il refuse

Un signe pourcent non suivi de deux chiffres hexadécimaux. 100% ne peut pas être décodé — il n’y a aucun octet à produire, et en inventer un serait pire qu’une erreur. La forme correctement encodée est 100%25.

Une séquence %XX qui ne forme pas de l’UTF-8 valide est également refusée plutôt que remplacée par un caractère de substitution : vous apprenez ainsi que l’entrée est abîmée, au lieu de lire un texte qui n’a jamais existé.

Confidentiel par conception

Tout s’exécute localement dans votre navigateur en JavaScript. Vos données ne sont jamais envoyées sur un serveur, ce qui rend l’outil sûr pour des contenus sensibles, et il fonctionne hors ligne.

Questions fréquentes

Mes espaces ressortent en signes plus. Comment corriger ?
Remplacez `+` par `%20` avant de décoder. Votre entrée utilise l’encodage de formulaire, où le plus signifie une espace ; cet outil suit l’encodage pourcent, où le plus est un plus. Les deux conventions existent, et aucune ne se déduit de la chaîne seule.
Pourquoi ne pas décoder le plus en espace et en finir ?
Parce qu’un plus est aussi un caractère légitime dans une valeur — dans une adresse e-mail, un numéro de téléphone, un terme de recherche. Les transformer tous en espaces corromprait des données correctement encodées.
Pourquoi 100% ne se décode-t-il pas ?
Parce qu’un signe pourcent ouvre un échappement et doit être suivi de deux chiffres hexadécimaux. Ici il n’est suivi de rien : il n’y a aucun octet à produire. La forme correcte est `100%25`.

Convertisseurs associés