Encodeur/décodeur URL

Encodez et décodez des URLs

Encodez en pourcentage des composants de requête ou des URLs complètes, puis décodez-les. Deux modes reflètent encodeURIComponent et encodeURI pour correspondre à votre stack ou votre doc API.

Utilisez ce mode pour des noms et valeurs de paramètres isolés, des segments de chemin ou toute chaîne intégrée dans une URL plus grande. Il encode presque tous les caractères réservés.

Outils associés

Pourquoi utiliser un encodeur/décodeur URL ?

Navigateurs, serveurs et caches traitent certains caractères comme de la structure — espaces, esperluettes, dièses et texte non ASCII doivent être échappés quand ce sont des données et non de la syntaxe. Un outil dédié prévisualise la chaîne exacte qu’un client HTTP enverra.

Avantages d’un encodage URL correct

  • Transmission sûre : Le contenu utilisateur cesse de casser les analyseurs qui découpent chemins, requêtes et fragments.
  • Support Unicode : Les octets UTF‑8 peuvent s’écrire comme des % pour que le texte international survive aux transports ASCII seul.
  • API prévisibles : S’aligner sur RFC 3986 réduit les écarts entre front-end, apps mobiles et backends.
  • Moins d’erreurs 400 : Des paramètres bien encodés sont moins souvent rejetés par des passerelles strictes.
  • Débogage plus simple : Comparez votre chaîne manuelle à encodeURIComponent avant de livrer un correctif.

Fonctionnement de l’encodage URL

Le percent-encoding réécrit chaque octet qui ne peut pas apparaître littéralement comme %HH, HH en hexadécimal. Les caractères qui restent littéraux dépendent de protéger une URL entière ou un composant isolé.

Modes de cet outil

  • Mode composant : Calque encodeURIComponent / decodeURIComponent — idéal pour clés, valeurs, segments de chemin ou tout texte intégré dans une requête.
  • Mode URL complète : Calque encodeURI / decodeURI — pour des chaînes qui contiennent encore schéma, hôte, barres et ponctuation de requête après transformation.
  • Transformation en direct : Chaque modification passe par la paire choisie pour voir immédiatement une entrée mal formée ou un double encodage.

Points à retenir

Des détails comme le + dans les envois de formulaires par rapport au vrai percent-encoding piègent les équipes quand les frameworks diffèrent.

Référence rapide

  • L’espace est souvent %20 dans la query ; les formulaires HTML peuvent utiliser + dans application/x-www-form-urlencoded.
  • Seuls les caractères non réservés (lettres, chiffres, -._~) peuvent rester non encodés en mode composant strict.
  • La double encodage (encoder une chaîne déjà encodée) allonge l’URL et peut perturber les serveurs.
  • decodeURIComponent lève une erreur si % est suivi d’un hex incomplet ; corrigez la source avant décodage.
  • Les noms de domaine internationalisés utilisent Punycode dans le DNS ; l’encodage URL couvre chemin et requête, pas la conversion ACE du nom d’hôte.

Bonnes pratiques

Encodez à la frontière où le texte non fiable devient partie d’une URL et décodez une fois quand vous le traitez à nouveau comme données.

  • Encodez chaque valeur de requête séparément au lieu d’encoder deux fois l’URL entière.
  • Journalisez l’entrée brute séparément de la chaîne encodée lors du débogage analytics ou redirections.
  • Préférez HTTPS pour partager des URLs encodées avec jetons sensibles.
  • Validez la sortie décodée avant injection HTML pour éviter le XSS via liens malveillants.
  • Testez les deux modes si le produit gère des liens profonds depuis e-mail ou SMS.

Cas d’usage

  • Développement web : Filtres de recherche, UTM, URIs de redirection OAuth.
  • Intégration API : Comportement conforme quand la doc cite RFC 3986.
  • QA et support : Reproduire les URLs clients sans deviner les échappements.
  • Documentation : Exemples avant/après pour partenaires.
  • Scripts de migration : Comparer règles d’échappement legacy et fonctions navigateur modernes.

Questions fréquentes

Quelle est la différence entre l’encodage composant et l’URL complète ?

L’encodage composant (encodeURIComponent en JavaScript) applique le codage pourcent à presque tous les caractères réservés — ce que vous voulez pour une clé ou valeur de requête isolée. L’encodage URL complète (encodeURI) laisse les délimiteurs tels que : / ? & = pour qu’une chaîne reste naviguable.

Quand utiliser decodeURIComponent plutôt que decodeURI ?

Associez au encodeur utilisé : decodeURIComponent pour un seul composant, decodeURI pour une chaîne qui doit encore ressembler à une URL avec barres et séparateurs de requête.

Mes données sont-elles envoyées à vos serveurs ?

Non. L’encodage et le décodage s’exécutent entièrement dans votre navigateur ; aucun téléversement.

Que signifie « encodage pourcent » ?

Les octets qui ne peuvent pas apparaître tels quels dans une URL s’écrivent % suivi de deux chiffres hexadécimaux (un espace devient %20). C’est ce que RFC 3986 appelle le percent-encoding.

Pourquoi le décodage affiche-t-il une erreur ?

Des séquences pourcent mal formées (nombre impair de hex, UTF-8 invalide après décodage, modes mélangés) peuvent lever une exception. Vérifiez la chaîne ou essayez l’autre type si vous avez encodé une URL complète comme composant.

Encodeur/décodeur URL — coder et décoder des URLs en ligne gratuitement