CodeKitHub
Français
Outils d'encodage

Encodeur / Décodeur d'URL en ligne

Encodez du texte en pourcentage pour une utilisation sécurisée dans les URL, ou décodez une URL encodée pour la ramener à un format lisible. Choisissez le mode « composant » (qui encode tout, notamment les valeurs des paramètres de requête) ou le mode « URL complète » (qui conserve intacte la structure :// ? &). Fonctionne entièrement dans votre navigateur.

En quoi consiste cet outil ?

L'encodage URL (encodage en pourcentage) remplace les caractères non autorisés dans les URL par un « % » suivi de leur valeur en octets au format hexadécimal : un espace devient « %20 » et « 你 » devient « %E4%BD%A0 ». Sans cela, des caractères tels que les espaces, &, ? et le texte non ASCII perturberaient la structure de l'URL ou seraient mal interprétés par les serveurs.

Il existe deux besoins courants, et cet outil répond aux deux : l'encodage d'une valeur qui s'insère dans un paramètre de requête (mode « composant » — encode également /, ? et =) et l'encodage d'une URL complète tout en conservant sa structure (mode « URL complète » — laisse ://, ? et intacts).

Pourquoi l'utiliser ?

  • Créez des chaînes de requête en toute sécurité : les données saisies par l'utilisateur contenant des caractères « & », « = » ou des espaces n'endommageront pas votre URL.
  • Décodez les URL longues et encodées issues des fichiers journaux, des outils d'analyse ou des chaînes de redirection pour découvrir ce qu'elles contiennent réellement.
  • Gestion correcte du format UTF-8 pour le chinois, les emojis et tout autre texte non ASCII.
  • Deux modes pour éviter d'encoder par inadvertance les caractères « : » et « / » d'une URL entière.
  • Gratuit, instantané, sans téléchargement.

Mode d'emploi

  1. Collez votre texte ou votre URL dans le champ de saisie.
  2. Sélectionnez le mode : « Composant » pour les valeurs à inclure dans les paramètres de requête, « URL complète » pour les URL dans leur intégralité.
  3. Cliquez sur « Encoder » ou « Décoder ».
  4. Copiez le résultat.

Exemple

Entrée

https://example.com/search?q=hello world & 你好

Résultat

Mode composant : https%3A%2F%2Fexample.com%2Fsearch%3Fq%3Dhello%20world%20%26%20%E4%BD%A0%E5%A5%BD
Mode URL complète :  https://example.com/search?q=hello%20world%20&%20%E4%BD%A0%E5%A5%BD

Le mode « composant » encode également les caractères de structure ; le mode « URL complète » les conserve.

Cas d'utilisation courants

  • Créer une URL partageable dans laquelle un terme de recherche ou une valeur de filtre provient d'une saisie de l'utilisateur et peut contenir des espaces, des caractères « & » ou d'autres caractères spéciaux.
  • Décoder une URL de suivi ou de redirection longue provenant d'un e-mail ou d'une campagne publicitaire afin de connaître la destination réelle et les paramètres avant de cliquer dessus.
  • Débogage pour déterminer pourquoi un paramètre de requête n'est pas lu correctement par un serveur — souvent, le problème vient d'un caractère réservé qui aurait dû être encodé mais qui ne l'a pas été.
  • Préparation d'une valeur non anglophone (chinois, japonais, arabe, etc.) destinée à être utilisée dans une chaîne de requête d'URL.

« encodeURIComponent » vs « encodeURI » : en pratique

Ces éléments correspondent directement aux deux modes de cet outil et renvoient à de véritables fonctions JavaScript que les développeurs connaissent déjà : encodeURIComponent (mode « composant ») encode tout sauf un petit ensemble de caractères non réservés, ce qui permet d’insérer en toute sécurité n’importe quelle valeur unique dans une URL — c’est ce que vous utilisez pour un paramètre de requête, un segment de chemin ou une valeur de fragment de hachage. encodeURI (mode URL complète) laisse intacts les caractères structurels de l’URL (:, /, ?, #, &, =) inchangés, car il part du principe que vous encodez une URL complète et déjà structurée, et non une valeur brute — l’utiliser sur la valeur d’un seul paramètre empêcherait l’encodage des caractères & ou = que cette valeur pourrait contenir, ce qui est l’erreur la plus courante commise par les utilisateurs qui choisissent le mauvais mode.

Caractères réservés et caractères non réservés

La spécification URL (RFC 3986) classe les caractères en deux groupes : les caractères non réservés (lettres, chiffres, - _ . ~) sont toujours sûrs et ne sont jamais encodés, tandis que les caractères réservés (: / ? # [ ] @ ! $ & ' ( ) * + , ; =) ont une signification particulière dans la structure des URL et ne doivent être encodés que lorsqu’ils apparaissent en tant que données littérales plutôt que comme ponctuation structurelle. C’est précisément pour cette raison que ces deux modes existent : le mode « composant » traite les caractères réservés comme des données à protéger, tandis que le mode « URL complète » les traite comme des éléments structurels à préserver. Comprendre cette distinction est plus utile que de mémoriser quand utiliser tel ou tel mode, car cela explique pourquoi un même caractère (comme &) est parfois encodé et parfois laissé tel quel, selon le rôle qu’il joue dans l’URL en question.

Foire aux questions

Quand faut-il utiliser le mode « composant » plutôt que le mode « URL complète » ?

Mode « composant » (encodeURIComponent) pour l'encodage d'une valeur unique intégrée à un paramètre de requête : il encode les caractères /, ?, & et = afin qu'ils ne puissent pas perturber le fonctionnement de l'URL. Mode « URL complète » (encodeURI) pour l'encodage d'une URL complète : il conserve les caractères structurels afin que l'URL reste fonctionnelle.

Pourquoi le signe %20 est-il apparu à la place du signe + pour les espaces ?

Les deux sont valables dans des contextes différents. %20 est le codage en pourcentage universel pour un espace ; + désigne un espace uniquement dans les chaînes de requête utilisant l'ancien format « application/x-www-form-urlencoded ». Cet outil utilise %20, qui fonctionne partout.

Pourquoi le décodage échoue-t-il et génère-t-il une erreur ?

La donnée d'entrée contient une séquence de caractères « % » mal formée, par exemple un « % » qui n'est pas suivi de deux chiffres hexadécimaux. Cela se produit souvent lorsqu'une URL a été tronquée ou doublement décodée. Corrigez ou supprimez la séquence « % » incorrecte.

Qu'est-ce que le double encodage ?

Encodage d'un texte déjà encodé : %20 devient %2520 car le caractère % est lui-même encodé en %25. C'est une erreur courante : si votre résultat décodé contient encore des codes %, décodez-le une nouvelle fois.

Est-ce que cela prend en charge les caractères chinois et les emojis ?

Oui. Le texte est encodé en octets UTF-8 ; ainsi, « 你好 » devient « %E4%BD%A0%E5%A5%BD » et se décode parfaitement — c'est exactement le même comportement que celui des navigateurs.

Outils associés