Encodeur et décodeur URL - URLs et chaînes de requête
Encodez du texte pour les URL et chaînes de requête, ou décodez une URL encodée en texte lisible, directement dans votre navigateur.
Choisissez un mode, collez votre texte et cliquez sur Convertir. Encodeur de composant convient aux valeurs de requête, URL complète conserve une adresse valide et Décoder inverse tout encodage.
Encodeur et décodeur URL - URLs et chaînes de requête
Encodez du texte pour les URL et chaînes de requête, ou décodez une URL encodée en texte lisible, directement dans votre navigateur.
Encode tous les caractères réservés, notamment & = ? / et #. À utiliser pour une valeur de requête ou un segment de chemin.
Fonctionnement : les caractères hors du jeu non réservé sont remplacés par leurs octets UTF-8 écrits en paires hexadécimales %XX. Les fonctions utilisées sont encodeURIComponent, encodeURI et decodeURIComponent.
À propos de l’encodeur et du décodeur URL
Les URL ne peuvent transporter sûrement qu’un nombre limité de caractères. RFC 3986 définit un petit ensemble non réservé — lettres, chiffres et - _ . ~ — ainsi qu’un ensemble réservé comme ? & = / et #, porteur d’un sens structurel. Tout le reste, d’un espace à une lettre accentuée ou un caractère CJK, doit être encodé en pourcentage : le caractère devient des octets UTF-8, chacun écrit avec un signe pourcentage et deux chiffres hexadécimaux. Cet outil effectue la conversion instantanément et entièrement dans le navigateur : rien de collé n’est envoyé à un serveur.
Trois modes sont proposés, car JavaScript distingue deux tâches. Encoder un composant utilise encodeURIComponent et échappe chaque caractère réservé. C’est le bon choix pour un terme de recherche, une redirection, un jeton ou toute valeur après un signe égal. Encoder & ou = empêche une valeur de couper le paramètre.
Encoder l’URL complète utilise encodeURI pour une adresse déjà structurée. Les espaces, guillemets, chevrons et caractères non ASCII sont échappés, tandis que : / ? & = # restent en place pour préserver le schéma, l’hôte, le chemin et la requête. Encoder toute l’URL comme un composant la rendrait inutilisable.
Décoder inverse le processus avec decodeURIComponent : %20 devient un espace, %26 une esperluette et %C3%BC la lettre ü. C’est utile pour lire un lien de suivi, inspecter une redirection OAuth ou déboguer un formulaire. Un % non suivi de deux chiffres hexadécimaux valides déclenche une erreur claire.
Les usages incluent la préparation de paramètres d’API, la réparation de liens contenant des espaces, l’imbrication d’URL et l’analyse de redirections complexes. L’encodage est une syntaxe de transport, pas une sécurité : il est réversible et l’entrée décodée doit toujours être validée côté serveur.
Exemples d’encodage URL
Voyez comment les trois modes traitent caractères réservés, espaces et texte non ASCII.
| Entrée | Sortie | Note |
|---|---|---|
| price=1+2 (Composant) | price%3D1%2B2 | = et + sont réservés dans les requêtes et deviennent %3D et %2B. |
| https://example.com/my files/report 2024.pdf (URL complète) | https://example.com/my%20files/report%202024.pdf | Les espaces deviennent %20 ; schéma et barres restent inchangés. |
| na%C3%AFve (Décoder) | naïve | La séquence UTF-8 à deux octets %C3%AF redevient la lettre ï. |
| 50% off (Composant) | 50%25%20off | Le signe pourcentage littéral doit devenir %25 pour éviter une mauvaise lecture. |
Comment encoder ou décoder une URL
- Choisissez un mode : composant pour une valeur, URL complète pour une adresse, ou Décoder pour inverser.
- Collez votre texte ou URL dans la zone Entrée.
- Cliquez sur Convertir ; le résultat apparaît immédiatement dans Sortie.
- Copiez le résultat où nécessaire ou cliquez sur Effacer pour recommencer.
FAQ de l’encodeur et décodeur URL
Quelle différence entre encodeURIComponent et encodeURI ?
encodeURIComponent échappe tous les caractères réservés, dont / ? & = et #, pour des valeurs individuelles. encodeURI conserve ces caractères structurels et s’emploie pour une URL complète. L’outil les propose comme composant et URL complète.
Pourquoi un espace devient-il %20 et non + ?
%20 est l’encodage standard d’un espace dans une URL. + vient de l’ancien format application/x-www-form-urlencoded des formulaires et ne s’applique que dans la requête. L’outil émet toujours %20 et conserve + comme signe plus au décodage.
Pourquoi une erreur apparaît-elle au décodage ?
decodeURIComponent échoue si % n’est pas suivi de deux chiffres hexadécimaux valides, par exemple un pourcentage littéral ou une séquence tronquée. Vérifiez que l’entrée est complète et réellement encodée.
Comment sont encodés accents, CJK et emojis ?
Le caractère est converti en octets UTF-8, puis chaque octet s’écrit %XX. Une lettre accentuée utilise souvent deux paires et un emoji quatre ; le décodage restaure exactement le caractère.
Faut-il encoder une URL entière comme composant ?
Non. Cela échapperait les deux-points, barres et point d’interrogation qui structurent l’adresse. Utilisez URL complète pour toute l’adresse et composant uniquement pour ses valeurs.
Ce que je colle est-il envoyé à un serveur ?
Non. La conversion s’exécute uniquement dans le navigateur avec encodeURIComponent, encodeURI et decodeURIComponent ; vos jetons, sessions et chemins privés restent sur l’appareil.