Encodeur / Décodeur URL

Encodez et décodez URL et chaînes de requête en encodage pourcent, modes composant, URI ou formulaire, en UTF-8, UTF-16 ou Latin-1. En local dans le navigateur.

Vos saisies et fichiers restent dans le navigateur

Collez une URL, une query string ou du texte pour l’encoder ou le décoder en pourcentage.

Le résultat encodé ou décodé s’affiche ici.

Sur cette page

Encodez du texte pour les URL en encodage pourcent et décodez les séquences %XX en texte lisible. Les trois modes correspondent à encodeURIComponent, encodeURI de JavaScript et à l'encodage des formulaires HTML ; le travail est fait dans votre navigateur par un module WebAssembly compilé depuis Rust.

Fonctionnalité détaillée

Le mode Composant échappe tout sauf les lettres, les chiffres et - _ . ! ~ * ' ( ) ; il encode donc aussi /, ?, & et = : utilisez-le pour une valeur de paramètre ou un segment de chemin. Le mode URI préserve la structure d'une adresse complète (: / ? # & = + $ , ; @) et n'échappe que les espaces et les caractères jamais valides dans une URL. Le mode Formulaire suit application/x-www-form-urlencoded : les espaces deviennent + et tout sauf lettres, chiffres et - _ . * est échappé ; au décodage, + redevient une espace.

Avant l'encodage, le texte est converti en octets dans le jeu de caractères choisi. UTF-8 est le standard du web ; ISO-8859-1 (Latin-1), UTF-16LE et UTF-16BE servent aux systèmes anciens, et un caractère que le jeu ne peut pas représenter est signalé avec sa position. Le décodage est strict : chaque % doit être suivi de deux chiffres hexadécimaux, donc un 100% isolé est signalé au lieu de passer en silence. La ligne d'état indique la longueur de la sortie en caractères et en octets.

Exemples pratiques

Valeur de paramètre : a b&c=d/e? en mode Composant devient a%20b%26c%3Dd%2Fe%3F.

URL complète : https://example.com/my path?q=a b&x=1 en mode URI devient https://example.com/my%20path?q=a%20b&x=1, tandis que le mode Composant la transforme en https%3A%2F%2Fexample.com%2Fmy%20path%3Fq%3Da%20b%26x%3D1.

Données de formulaire : John Doe & Co. en mode Formulaire devient John+Doe+%26+Co. ; décoder a+b%20c donne a b c en mode Formulaire, mais a+b c en mode Composant.

Jeu de caractères : café s'écrit caf%C3%A9 en UTF-8 et caf%E9 en ISO-8859-1.

Comment utiliser cet outil

  1. Coller le texte ou une chaîne encodée

    Saisissez dans Entrée le texte à encoder ou la chaîne encodée en pourcent à décoder.

  2. Choisir le mode et le jeu de caractères

    Dans Mode, choisissez Composant (similaire à encodeURIComponent) pour une valeur isolée, URI (similaire à encodeURI) pour une adresse complète ou Formulaire (application/x-www-form-urlencoded) pour un corps de formulaire. Laissez Jeu de caractères du texte sur UTF-8 sauf si le serveur en attend un autre.

  3. Encoder ou décoder

    Cliquez sur Encoder pour appliquer l'encodage pourcent ou sur Décoder pour retrouver le texte. Les séquences % invalides et les caractères hors du jeu sont signalés comme erreurs.

  4. Copier le résultat

    Copier place la sortie dans le presse-papiers. Inverser la renvoie dans l'entrée, par exemple pour décoder une couche de plus.

Conseils et bonnes pratiques

  • Encodez chaque valeur de requête séparément en mode Composant, puis assemblez-les avec & et =. Encoder toute l'URL en mode Composant échappe aussi :// et casse le lien.
  • Le mode URI n'échappe ni &, ni =, ni # : si une valeur de paramètre en contient, encodez-la en mode Composant.
  • + signifie une espace uniquement dans les données de formulaire ; hors du mode Formulaire, il est décodé comme un signe plus.
  • Un texte encodé deux fois, comme %2520, donne d'abord %20 : cliquez sur Inverser puis de nouveau sur Décoder pour retirer la couche suivante.
  • Utilisez le jeu de caractères attendu par le serveur : %E9 donne é en ISO-8859-1, alors qu'en UTF-8 un %E9 isolé est signalé comme texte invalide.