Encodeur URL
Encodez du texte en pour cent afin qu'il circule sans risque dans une URL. Encodez une valeur de requête isolée, ou corrigez uniquement les caractères illégaux d'une adresse complète.
Vos données ne quittent jamais votre navigateur. Cet outil fonctionne entièrement sur votre appareil.
Pourquoi les URL doivent être encodées
Une URL ne peut contenir qu'un jeu restreint de caractères. Tout le reste — espaces, lettres accentuées, émojis — doit être représenté par un signe pour cent suivi de la valeur hexadécimale de chaque octet UTF-8. C'est pourquoi un espace devient %20 et é devient %C3%A9.
Les caractères licites mais structurants doivent eux aussi être échappés lorsqu'ils apparaissent dans une valeur plutôt que comme séparateurs. Une esperluette située dans un terme de recherche doit devenir %26, faute de quoi elle sera lue comme le début du paramètre suivant.
espace → %20 & → %26 é → %C3%A9
Encoder un composant ou une URL entière
Ce sont deux tâches distinctes, et se tromper de l'une pour l'autre est un bogue fréquent. Encoder un composant échappe tout ce qui est structurant, y compris les barres obliques et les points d'interrogation : c'est ce qu'il vous faut pour une valeur de requête isolée.
Encoder une URL entière laisse la structure intacte et n'échappe que les caractères jamais valides. Ainsi https://example.com/a b devient https://example.com/a%20b, sans toucher au schéma ni aux séparateurs.
Signes plus et espaces
Dans le format application/x-www-form-urlencoded utilisé par l'envoi des formulaires HTML, un espace est encodé par + plutôt que par %20. Dans un segment de chemin, + désigne en revanche un signe plus littéral.
Ce décodeur traite + comme un espace, car c'est le sens de la plupart des chaînes que l'on colle. Si vos signes plus sont littéraux, encodez-les en %2B avant de décoder.
Questions fréquentes
Quelle différence entre %20 et + pour un espace ?
Les deux circulent. %20 est le vrai encodage pour cent et fonctionne partout dans une URL. La forme + provient de l'envoi des formulaires HTML et n'est valide que dans une chaîne de requête, jamais dans un chemin.
Quand utiliser encodeURI plutôt qu’encodeURIComponent ?
Utilisez l'encodage de composant pour une valeur unique destinée à un paramètre de requête ou à un segment de chemin, car il échappe / ? & et #. Utilisez l'encodage d'URL complète quand vous disposez d'une adresse entière et voulez seulement corriger les caractères illégaux comme les espaces.
Pourquoi mon caractère accentué devient-il plusieurs séquences % ?
Parce que l'encodage pour cent travaille sur des octets et non sur des caractères, et qu'UTF-8 emploie plusieurs octets pour tout ce qui sort de l'ASCII. é fait deux octets et devient donc %C3%A9 ; un émoji en fait quatre et donne quatre séquences.
L'encodage d'URL est-il la même chose que l'échappement HTML ?
Non. L'encodage d'URL emploie des séquences pour cent et concerne les adresses. L'échappement HTML emploie des entités comme & et concerne le balisage. Employer l'un là où l'autre est attendu est une source fréquente de bogues et de failles d'injection.
Outils similaires
- Décodeur URLDécodez une URL encodée en pour cent vers du texte lisible. Si le résultat est une adresse complète, ses paramètres de requête sont détaillés pour que vous voyiez ce qu'elle transporte.
- Encodeur Base64Encodez n'importe quel texte en Base64, émojis et écritures non latines compris. Basculez sur l'alphabet compatible URL quand le résultat doit voyager dans une adresse.
- Formateur JSONCollez du JSON pour l'afficher avec une indentation cohérente, ou minifiez-le à nouveau. Un JSON invalide est signalé avec la ligne et la colonne exactes, pour que vous trouviez le problème.
- Décodeur JWTCollez un jeton JSON Web Token pour lire son en-tête et sa charge utile. Les revendications d'horodatage sont converties en dates lisibles, et le jeton ne quitte jamais votre navigateur.