Encodeur / décodeur d'URL
Percent-encodez et décodez des URL et des paramètres de requête. Portée composant ou URL complète, fonctionne entièrement dans votre navigateur.
Qu'est-ce que l'encodage d'URL ?
L'encodage d'URL (aussi appelé percent-encoding) est une façon de représenter les caractères qui ne sont pas sûrs dans une URL — espaces, lettres accentuées, &, ?, #, etc. — en les remplaçant par % suivi de leur valeur d'octet en hexadécimal. Le standard est défini dans la RFC 3986. Pour les caractères non-ASCII, les octets viennent de l'encodage UTF-8, donc é devient %C3%A9 (deux octets). Cet outil enveloppe les fonctions natives encodeURIComponent et decodeURIComponent du navigateur.
Comment utiliser cet encodeur
Choisissez Encoder ou Décoder dans le bouton de mode, puis choisissez la portée. Composant est le bon défaut pour les valeurs de chaîne de requête, les champs de formulaire, et tout ce que vous allez déposer dans ?clé=…. URL complète est pour les URL entières que vous voulez échapper a minima — elle laisse : / ? & = # tranquilles pour que les caractères structurels gardent leur sens. Collez votre texte et le résultat se met à jour en direct. Utilisez Renvoyer pour basculer la sortie vers l'entrée et inverser le mode pour un aller-retour rapide.
Composant ou URL complète — lequel choisir ?
Si vous encodez une seule valeur (un terme de recherche, une cible de redirection, une adresse e-mail) et la collez dans une chaîne de requête, utilisez Composant. Si vous encodez une URL complète déjà à peu près valide et ne voulez échapper que les bouts non sûrs, utilisez URL complète. Les deux se comportent très différemment sur des caractères comme ? et & — Composant les encode, URL complète non. Dans le doute, encodez les valeurs à l'intérieur d'une URL avec Composant, puis assemblez l'URL vous-même.
Percent-encodages courants
| Caractère | Encodé | Notes |
|---|---|---|
| space | %20 | Les espaces deviennent %20 dans les URL (ou + dans les corps form-encoded). |
| & | %26 | Sépare les paramètres de requête ; doit être encodé à l'intérieur d'une valeur. |
| = | %3D | Sépare le nom d'un paramètre de requête de sa valeur. |
| ? | %3F | Marque le début de la chaîne de requête. |
| # | %23 | Marque le début du fragment d'URL (ancre). |
| / | %2F | Séparateur de chemin ; encodé seulement à l'intérieur de segments. |
| é | %C3%A9 | Les caractères non-ASCII sont encodés en UTF-8 puis percent-échappés octet par octet. |
Questions fréquentes
Quelque chose est-il envoyé à un serveur ?
encodeURIComponent / decodeURIComponent. Rien n'est journalisé ni transmis. Vous pouvez vérifier en ouvrant DevTools > Réseau — aucune requête pendant que vous tapez.Pourquoi + signifie-t-il parfois un espace ?
application/x-www-form-urlencoded, utilisé dans les soumissions de formulaires HTML. Là, les espaces deviennent + au lieu de %20. Le percent-encoding RFC 3986 (ce que cet outil utilise) utilise toujours %20. Si vous décodez le corps d'une soumission de formulaire et voyez des + à la place des espaces, remplacez-les par des espaces avant de décoder, ou utilisez un décodeur de formulaire dédié.Pourquoi le décodage échoue-t-il avec une erreur ?
decodeURIComponent lève une URIError si l'entrée contient un % isolé qui n'est pas suivi de deux chiffres hex valides, ou si les octets résultants ne sont pas de l'UTF-8 valide. Les coupables courants sont les chaînes doublement encodées (relancez le décodage) ou les URL copiées-collées massacrées par l'auto-correct d'un éditeur.Quelle différence entre encodeURI et encodeURIComponent ?
encodeURI est destiné aux URL entières — il laisse : / ? & = # @ et + tranquilles, parce que ces caractères portent un sens structurel dans une URL. encodeURIComponent est pour des morceaux individuels d'une URL (une valeur de requête, un segment de chemin) et encode tout ce qui n'est pas réservé. Règle : construisez une URL en concaténant des morceaux passés par encodeURIComponent ; ne faites jamais confiance à encodeURI pour de la saisie utilisateur.Puis-je encoder des emojis ?
%F0%9F%8E%89) parce que c'est un codepoint UTF-8 4 octets hors du plan de base. Le décodage inverse l'opération — le résultat est l'emoji d'origine.Faut-il encoder l'URL plus d'une fois ?
? et & de l'URL interne sont parsés comme partie de l'URL externe. Pour décoder une telle valeur, lancez le décodage le même nombre de fois. Si vous avez accidentellement double-encodé une seule URL, décodez deux fois et vous récupérerez l'original.