À propos de l’outil Encodeur et décodeur d’URL
Les URL ne peuvent contenir qu’un ensemble limité de caractères ASCII. Les espaces, les lettres accentuées, les emoji et les caractères qui ont un sens particulier dans les URL – comme &, =, ? et # – doivent être écrits sous forme d’octets encodés en pourcentage : par exemple, un espace devient %20 et "é" devient %C3%A9. Cet outil convertit du texte dans ce format, et inversement.
Il utilise l’encodage UTF-8 défini par la norme URL, avec les mêmes règles que les fonctions encodeURIComponent et encodeURI de JavaScript. Un inspecteur d’URL intégré décompose aussi une adresse complète en protocole, hôte, chemin, fragment et liste décodée des paramètres de requête.
Mode d’emploi
- Choisissez « Encoder » ou « Décoder ».
- Choisissez le mode : « Composant » pour une seule valeur de requête ou un segment de chemin, « URL complète » pour garder la structure d’une adresse entière, ou « Formulaire » pour des données application/x-www-form-urlencoded, où les espaces s’écrivent +.
- Saisissez ou collez votre texte dans la zone de saisie. Le résultat se met à jour pendant la saisie.
- Utilisez « Copier le résultat » pour placer le résultat dans le presse-papiers, ou « Inverser » pour transférer le résultat dans la zone de saisie et changer de sens.
- Collez une URL complète pour voir ses parties et ses paramètres de requête décodés dans l’inspecteur d’URL, sous le résultat.
Fonctionnalités
- Trois modes d’encodage: Composant (encodeURIComponent), URL complète (encodeURI) et encodage des formulaires HTML avec + pour les espaces.
- Prise en charge complète d’Unicode: Les écritures non latines et les emoji sont encodés en octets UTF-8, exactement comme le font les navigateurs.
- Des messages d’erreur clairs: Quand le décodage échoue, l’outil vous indique où se trouve la séquence % mal formée, ou si les octets ne forment pas un UTF-8 valide.
- Inspecteur d’URL: Affiche l’hôte, le port, le chemin, le fragment et chaque paramètre de requête sous forme décodée, y compris les clés répétées.
- Confidentiel: Tout se passe dans votre navigateur : les URL qui contiennent des jetons ou des données personnelles ne sont envoyées nulle part.
Exemples
Encoder une requête de recherche
Pour transmettre "coffee & cake" comme valeur dans ?q=…, encodez-le en mode « Composant » : le résultat est coffee%20%26%20cake. Sans encodage, le & ouvrirait un nouveau paramètre.
Lire un lien de suivi
Collez un long lien comme https://example.com/?redirect=https%3A%2F%2Fshop.example%2Fcart%3Fid%3D7 pour voir que le paramètre redirect se décode en https://shop.example/cart?id=7.
Décoder des données de formulaire
Les données envoyées par un formulaire HTML ressemblent à name=Jane+Doe&city=S%C3%A3o+Paulo. Décodez-les en mode « Formulaire » pour obtenir "name=Jane Doe&city=São Paulo".
Limites et remarques
- Le mode « URL complète » n’encode pas les caractères réservés comme / ? # & = : il ne convient donc pas pour encoder la valeur d’un seul paramètre – utilisez pour cela le mode « Composant ».
- Décoder "%2F" en mode « URL complète » le laisse tel quel (%2F), car decodeURI laisse volontairement les caractères réservés échappés.
- Les données encodées en pourcentage dans d’anciens encodages (par exemple ISO-8859-1 ou Shift_JIS) ne peuvent pas être décodées, car l’outil attend des octets UTF-8.
- L’inspecteur d’URL ne fonctionne qu’avec des URL absolues qui commencent par un schéma comme https:.
- Les noms de domaine internationalisés s’affichent sous la forme punycode renvoyée par le navigateur (par exemple xn--…).
Questions fréquentes
Quelle est la différence entre encodeURI et encodeURIComponent ?
encodeURIComponent échappe tous les caractères qui ont un sens particulier dans une URL : il convient donc pour une valeur isolée. encodeURI laisse intacts des caractères comme : / ? # & = pour qu’une URL complète continue de fonctionner. Les modes « Composant » et « URL complète » correspondent à ces deux fonctions.
Un espace doit-il s’écrire %20 ou + ?
Les deux se rencontrent en pratique. %20 est correct partout dans une URL. Le signe + ne signifie un espace que dans la chaîne de requête des envois de formulaires HTML (application/x-www-form-urlencoded). Utilisez le mode « Formulaire » quand vous travaillez avec ce format.
Pourquoi l’outil indique-t-il que le texte n’est pas de l’UTF-8 valide ?
Les séquences % sont syntaxiquement correctes, mais les octets qu’elles décrivent ne forment pas un texte UTF-8 valide – par exemple %C3 sans octet de continuation à sa suite. Les données ont peut-être été encodées avec un autre jeu de caractères, ou elles ont été tronquées.
Mon URL est-elle envoyée à un serveur ?
Non. L’encodage, le décodage et l’analyse sont réalisés par JavaScript dans cette page. Vous pouvez même vous déconnecter d’Internet une fois la page chargée : l’outil continue de fonctionner.