Ce que ça fait
Convertit du texte en forme encodée en pourcentages et inversement. Deux choix contrôlent le résultat : une direction (Encoder ou Décoder) et une portée (Composant ou URI complète). Le mode Composant applique encodeURIComponent, qui échappe chaque caractère réservé et convient aux valeurs de query. Le mode URI complète applique encodeURI, qui laisse ; / ? : @ & = + $ , # intacts pour qu’une URL entière reste une URL. Une entrée malformée, comme un % isolé lors du décodage, affiche une erreur claire plutôt qu’un résultat faux.
Comment l’utiliser
- Choisissez une direction : Encoder ou Décoder.
- Choisissez une portée : Composant pour une seule valeur de query, URI complète pour une URL entière.
- Saisissez ou collez dans la zone d’entrée. La zone de sortie se met à jour pendant la frappe.
- Copiez la sortie, ou copiez un lien de partage qui encode la direction, la portée et votre texte.
Le bouton Swap inverse la direction et reporte la sortie actuelle dans l’entrée. Encodez quelque chose, cliquez sur Swap, et l’outil le décode en retour en un clic - pas de ressaisie.
Exemples
| Entrée | Réglage | Sortie |
|---|---|---|
hello world |
Encoder, Composant | hello%20world |
https://dev.cosmolabs.org/tools/url-encode |
Encoder, URI complète | inchangé - chaque caractère est sûr pour une URL |
https://example.com/search?q=hello world&page=2 |
Encoder, URI complète | https://example.com/search?q=hello%20world&page=2 |
path=/users/42 |
Encoder, Composant | path%3D%2Fusers%2F42 |
hello%20world |
Décoder, Composant | hello world |
Comment fonctionne l’encodage en pourcentages
Une URI est de l’ASCII. Cette règle survit depuis les toutes premières spécifications des URL : une URL voyage en octets ASCII, et tout le reste doit voyager à l’intérieur d’un escape. Un escape fait toujours trois caractères : % plus deux chiffres hexadécimaux qui désignent l’octet. Une espace est l’octet 0x20, donc elle voyage en %20. Un é fait deux octets en UTF-8 (0xC3 0xA9), donc il voyage en %C3%A9.
JavaScript fournit deux encodeurs, et le commutateur de portée choisit entre eux :
encodeURIComponent (Composant) |
encodeURI (URI complète) |
|
|---|---|---|
| Échappe | tout sauf A-Z a-z 0-9 - _ . ! ~ * ' ( ) |
pareil, mais garde aussi ; / ? : @ & = + $ , # |
| Prévu pour | une valeur de query | une URL entière |
a/b?c=d |
a%2Fb%3Fc%3Dd |
a/b?c=d |
Les caractères réservés sont la ponctuation propre de l’URL, et c’est pourquoi les deux fonctions existent. Une valeur de query comme path=/users/42 doit échapper ses barres obliques, sinon le récepteur ne peut pas distinguer les données de la structure : path=%2Fusers%2F42. Une URL entière doit les garder, sinon https:// s’effondre en https%3A%2F%2F. Règle empirique : encodez avec la portée la plus étroite qui convient au morceau que vous tenez, et vous n’échapperez jamais la structure dont vous avez réellement besoin.
Le décodage fait l’inverse : chaque %XX redevient l’octet qu’il désigne, et les octets se réassemblent en texte UTF-8. Un % non suivi de deux chiffres hexadécimaux est malformé, et l’outil le signale au lieu de deviner.
Bon à savoir
- Décodez une fois, pas deux. Une valeur qui contient légitimement
%20se décode en une espace ; décoder ce résultat une seconde fois transforme tout%isolé en erreur. - Le lien de partage transporte le mode, la portée et le texte, donc l’ouvrir restaure exactement votre conversion.
- Privé : tout l’encodage s’exécute localement dans votre navigateur. Rien n’est envoyé nulle part.
- Outils liés : URL Inspector, HTML Entity Encoder,
Base64Base64An encoding representing binary data as 64 safe ASCII characters, so it survives transport through text-only channels. It encodes — it does not encrypt.
Encode / Decode.