Encodage et décodage d'URL

Encodez un texte pour qu'il puisse figurer dans une adresse web, ou décodez un lien encodé pour lire son texte et ses paramètres de requête. Rien de ce que vous collez ne quitte votre navigateur.

Gratuit Fonctionne dans votre navigateur Vérifié le mardi 10 novembre 2026

Le texte à encoder, ou le texte ou le lien encodé à décoder.

Action
Portée

Une valeur pour une valeur de requête ou un élément de chemin. Une URL entière pour garder les caractères : / ? & et =.

Cochez-le pour une chaîne de requête écrite par un formulaire HTML : un + se lit comme une espace, et une espace s'écrit +.

Résultat

Résultat
Paramètres de requête

Cet outil fonctionne dans votre navigateur. Ce que vous saisissez ne nous est pas envoyé.

Mode d'emploi

  1. Collez le texte ou le lien dans Texte ou URL.
  2. Choisissez Encoder ou Décoder sous Action.
  3. Pour une valeur, comme un mot de recherche, gardez Portée sur Une valeur. Pour un lien entier, choisissez Une URL entière.
  4. Lisez le Résultat, et le tableau Paramètres de requête lorsque le texte est un lien avec une requête.

Ce que fait l'encodage en pourcentage

Une adresse web ne peut contenir qu'un petit ensemble de caractères. Chaque autre caractère s'écrit sous forme d'un signe % et de deux chiffres hexadécimaux pour chaque octet de sa forme UTF-8. La lettre française ç devient donc %C3%A7, et une espace devient %20. Les règles figurent dans la RFC 3986, section 2.1.

ç  →  octets UTF-8 C3 A7  →  %C3%A7
  • Avec Une valeur, seules les lettres de A à Z et de a à z, les chiffres de 0 à 9, et - _ . ! ~ * ' ( ) restent tels quels.
  • Le décodage remplace chaque %XX valide par son octet, et les octets par les lettres qu'ils forment.

Une valeur ou une URL entière

Une valeur encode aussi les séparateurs (: / ? # & = et +), si bien qu'une valeur de requête ne peut pas casser la structure de l'adresse. Une URL entière laisse ces séparateurs tels quels, si bien que le lien garde sa forme. Lors du décodage d'une URL entière, un échappement qui représente un séparateur, comme %2F, reste encodé, pour que le lien garde le même sens.

Encodage de formulaire et le signe +

Les formulaires HTML écrivent une espace sous forme de + et un signe plus sous forme de %2B. Dans une chaîne de requête écrite par un formulaire, un + signifie donc une espace. L'option Encodage de formulaire lit et écrit cette règle. Lorsqu'elle est désactivée, un + reste un signe plus, comme le dit la RFC 3986.

Ce que le décodage refuse

  • Un signe % qui n'est pas suivi de deux chiffres hexadécimaux, comme la fin de %E0%A4%A.
  • Des échappements qui ne forment pas de l'UTF-8 valide, comme un octet isolé %FF.
  • Un caractère brisé, comme la moitié d'un emoji, qui ne peut pas être encodé.

Exemple détaillé : un lien de recherche

L'encodage de la valeur Ankara & İzmir? avec Une valeur donne Ankara%20%26%20%C4%B0zmir%3F. L'espace, l'esperluette, le I majuscule İ (deux octets en UTF-8) et le point d'interrogation sont tous encodés.

Le décodage de https://example.com/ara?q=%C3%A7ay+kahve&page=2 avec Une URL entière et Encodage de formulaire cochés donne https://example.com/ara?q=çay kahve&page=2. La requête a deux paramètres : q vaut çay kahve et page vaut 2.

Saisie Résultat
Ankara & İzmir? (Une valeur, encoder) Ankara%20%26%20%C4%B0zmir%3F
https://example.com/ara?q=%C3%A7ay+kahve&page=2 (décoder) https://example.com/ara?q=çay kahve&page=2

Questions fréquentes

Quelle différence entre encodeURI et encodeURIComponent ?

encodeURIComponent encode chaque séparateur, il convient donc à une valeur de chaîne de requête. encodeURI garde les caractères qui donnent sa structure à une URL, comme : / ? # & et =, il convient donc à un lien entier. Une valeur correspond au premier, et une URL entière au second.

Pourquoi une espace devient-elle %20 à un endroit et + à un autre ?

%20 est l'échappement standard d'une espace, valable partout dans une URL. Un + ne signifie une espace que dans l'encodage de formulaire, dans les chaînes de requête écrites par les formulaires HTML. Cochez Encodage de formulaire lorsque le lien vient d'un formulaire.

Pourquoi %E0%A4%A est-il refusé ?

L'échappement %E0 commence une lettre de trois octets, mais le texte se termine après %A et l'échappement n'est pas complet. Chaque signe % demande deux chiffres hexadécimaux, et chaque octet doit appartenir à un caractère UTF-8 complet.

Mon lien est-il envoyé à un serveur ?

Non. Votre navigateur effectue l'encodage et le décodage, si bien que les liens qui portent des jetons ou des données privées restent sur votre appareil.

Pourquoi un signe plus reste-t-il dans mes paramètres décodés ?

Lorsque l'encodage de formulaire est désactivé, un + reste un signe plus, comme le définit la RFC 3986. Beaucoup de formulaires web écrivent les espaces sous forme de +, cochez donc l'option pour lire ces liens comme le voulait le formulaire.

Sources

Chiffres et texte vérifiés pour la dernière fois le mardi 10 novembre 2026.

Nous utilisons des cookies nécessaires au fonctionnement du site. Avec votre accord, Google utilise aussi des cookies publicitaires pour afficher des annonces personnalisées. Si vous les refusez, vous voyez toujours des annonces, mais elles ne sont pas personnalisées.