Décodeur URL en ligne — decodeURIComponent & decodeURI

Inversez l’encodage pourcent des chaînes de requête et des URL. L’outil s’ouvre en mode Décoder. Choisissez la portée composant, URI complète ou form-urlencoded, puis sélectionnez Convertir.

Chargement…
Encodeur et décodeur d’URL
Les navigateurs proposent encodeURIComponent pour isoler les clés et les valeurs de paramètres. Ils proposent encodeURI pour des chaînes href presque complètes, où :, ?, # et les autres caractères de structure doivent rester lisibles. FastMinify reproduit les deux fonctions afin que vous retrouviez le comportement d’un serveur pendant le débogage.

Choisir le bon mode

La portée « Composant de requête » correspond à encodeURIComponent. Les espaces deviennent %20, les barres obliques %2F et les esperluettes %26. Elle sert à construire des paires de requête dans du code ou à analyser des URL de mesure d’audience. La portée « URL complète » correspond à encodeURI. Les caractères structurels réservés restent intacts, alors que les caractères Unicode reçoivent toujours un codage pourcent. La portée « Données de formulaire » correspond à application/x-www-form-urlencoded. Elle fonctionne comme le composant de requête, mais les espaces deviennent + au lieu de %20. Le décodage applique la transformation inverse avec decodeURIComponent ou decodeURI. Choisissez Convertir pour l’exécuter, car la conversion ne se fait pas automatiquement pendant la saisie.

Choisir une portée d’encodage

Composant de requête (encodeURIComponent)
Encode chaque caractère réservé d’un nom ou d’une valeur de paramètre isolé. Les espaces deviennent %20, les barres obliques %2F et les esperluettes %26. À utiliser pour les paires ?key=value, pour OAuth ou pour les mesures d’audience.
URL complète (encodeURI)
Échappe l’Unicode et les octets dangereux en gardant la structure de l’URL. Les caractères :, /, ?, # et & restent littéraux. À utiliser pour nettoyer un href presque complet sans abîmer ses délimiteurs.
Données de formulaire (application/x-www-form-urlencoded)
Encode comme encodeURIComponent, mais remplace les espaces par + au lieu de %20. Cela reproduit la sérialisation des champs d’un <form> HTML dans un corps POST, et non la construction habituelle des chaînes de requête des liens.

Comparaisons rapides

encodeURIComponent pour paramètres

Entrée exemple

https://api.example.com/v2/search?q=hello world&filter=a&b&category=home office&price=$100&currency=USD&region=eu-west-1&sort=relevance&page=2&trace=abc123

Sortie exemple

https%3A%2F%2Fapi.example.com%2Fv2%2Fsearch%3Fq%3Dhello%20world%26filter%3Da%26b%26category%3Dhome%20office%26price%3D%24100%26currency%3DUSD%26region%3Deu-west-1%26sort%3Drelevance%26page%3D2%26trace%3Dabc123

encodeURI conserve la structure

Entrée exemple

https://shop.example.com/catalog?tag=sale%20items&sort=price

Sortie exemple

https://shop.example.com/catalog?tag=sale%2520items&sort=price

Aller plus loin

Les données binaires accompagnent souvent les URL : utilisez pour elles l’encodeur Base64. Pour échapper du balisage avant d’insérer des chaînes dans des gabarits, utilisez les entités HTML, et pour livrer des fichiers CSS compacts, la minification CSS.

FAQ encodage URL

Fixez le comportement de l’encodage pourcent avant de toucher aux API

Pourquoi decodeURIComponent lève-t-il l’erreur URI malformed ?

Parce que decodeURIComponent signale une erreur quand des séquences % sont incomplètes (un % isolé) ou désignent des octets UTF-8 invalides.

Les espaces deviennent-ils + ou %20 ?

encodeURIComponent produit %20, le choix habituel pour les chaînes de requête REST. Utilisez la portée « Données de formulaire » quand il vous faut + pour les espaces, comme dans les corps application/x-www-form-urlencoded des formulaires HTML.

L’encodage URL évite-t-il le XSS ?

Non. Échapper une URL évite de casser les délimiteurs, mais ne remplace jamais l’échappement HTML adapté au contexte.

Puis-je encoder des chemins UTF-8 entiers ?

Oui. encodeURIComponent encode automatiquement tout ce qui sort d’ASCII et préserve les paires de substitution.

FastMinify journalise-t-il les URL ?

Non. Aucune requête n’est envoyée à un serveur, tout se passe en local.

Quand utiliser decodeURIComponent ?

Pour inverser une chaîne produite par encodeURIComponent, typiquement des noms et des valeurs de paramètres de requête, avant de l’afficher ou de l’encoder de nouveau.

Le texte hors ASCII est-il géré ?

Oui : l’UTF-8 est transcrit en séquences % comme dans le navigateur.

Puis-je combiner encodeURI et encodeURIComponent ?

En pratique, on choisit une stratégie par couche : encodeURI pour un href presque complet, encodeURIComponent pour chaque clé et chaque valeur ajoutée à la chaîne de requête.

Encodez ou décodez Base64, URL, entités HTML et JWT, et générez des hachages et des HMAC dans votre navigateur.