Outils pour Développeurs

Décodage URL

Décodez du texte encodé en pourcentage pour retrouver des caractères lisibles.

Évaluez cet outil

Comment utiliser Décodage URL

  1. Collez votre texte encodé.
  2. Copiez le résultat décodé.

À propos de Décodage URL

Le décodage retransforme %20 en espace et %3D en signe égal, afin que vous puissiez réellement lire un lien, un paramètre de redirection ou une chaîne de requête consignée dans un journal. Chaque paire %XX représente un octet, et les suites d'octets sont ensuite interprétées comme de l'UTF-8 — c'est pourquoi %C3%A9, deux séquences d'échappement, redevient le caractère unique é.

Une limite honnête mérite d'être précisée : ceci ne décode que les séquences en pourcentage. Cela ne transforme pas les + en espaces. Dans les chaînes de requête, la convention du + vient de l'encodage des formulaires HTML et coexiste avec l'encodage en pourcentage plutôt que de le remplacer, si bien que les deux entrent constamment en collision. Si votre saisie provient d'un corps encodé en formulaire ou d'une chaîne de requête construite par une bibliothèque plus ancienne, remplacez vous-même les + par des espaces — rien ne peut deviner de façon fiable quels signes plus étaient littéraux et lesquels signifiaient un espace.

Une saisie mal formée génère une erreur claire plutôt qu'une mauvaise réponse : un % isolé, une séquence incomplète comme %A, ou des suites d'octets qui ne forment pas de l'UTF-8 valide sont toutes rejetées d'emblée. Coller une URL entière ne pose pas de problème — les caractères qui ne sont pas des séquences d'échappement passent tels quels — mais gardez à l'esprit qu'une URL décodée peut devenir ambiguë, puisque des délimiteurs volontairement encodés redeviennent de vraies structures. Encodez dans l'autre sens avec l'encodeur URL, ou décomposez une adresse avec l'analyseur d'URL.

Questions fréquentes

Pourquoi + n'est-il pas décodé en espace ?

Parce qu'à proprement parler, ce n'en est pas un. En encodage pourcentage, un espace est %20 ; la convention du + appartient à l'encodage des formulaires HTML et ne s'applique qu'à l'intérieur des chaînes de requête et des corps de formulaire. Un + peut aussi être un véritable signe plus, donc le décoder aveuglément corromprait de vraies données. Remplacez-les vous-même lorsque vous connaissez la source.

Puis-je coller une URL entière ?

Oui — tout ce qui n'est pas une séquence en pourcentage passe tel quel, l'URL reste donc lisible. Sachez simplement que le résultat peut ne pas être sûr à réutiliser comme URL, car des délimiteurs volontairement encodés à l'intérieur d'un paramètre redeviennent de vrais délimiteurs.

Pourquoi ai-je le message « Encodage en pourcentage invalide » ?

La saisie contient un % qui n'est pas suivi de deux chiffres hexadécimaux valides, ou les séquences forment une suite d'octets qui n'est pas de l'UTF-8 valide. Un copier-coller tronqué ou un % isolé dans du texte ordinaire en est généralement la cause.

Mon texte affiche encore %2520 — qu'est-ce que c'est ?

Une saisie doublement encodée. %25 est la séquence d'échappement du caractère % lui-même, donc %2520 se décode en %20, qui se décode à nouveau en espace. Lancez le décodage deux fois, puis identifiez ce qui a encodé la valeur à deux reprises.

Mon URL est-elle envoyée quelque part ?

Non. Le décodage est effectué par votre navigateur, directement sur la page, si bien que les liens internes, les jetons et les chaînes de requête restent sur votre machine.