🔧Toolify

Encodeur / Décodeur URL (encodage pourcent, sûr UTF-8)

Utilise pour intégrer du texte en toute sécurité dans des URLs, des paramètres de requête ou des données de formulaire. Gère correctement les espaces, les caractères spéciaux et l'Unicode (y compris CJK et emoji).

Résultat encodé
 

Fonctionnement

Qu'est-ce que l'encodage URL

Les URLs sont limitées à un petit ensemble de caractères ASCII. Pour inclure autre chose — espaces, accents, caractères chinois, emoji, symboles spéciaux — on remplace chaque octet non sûr par %XX où XX est sa valeur en hexadécimal. Un espace devient %20, un slash %2F, le caractère japonais 漢 devient %E6%BC%A2 (ses octets UTF-8 encodés en pourcent).

Ce calculateur utilise les fonctions intégrées du navigateur encodeURIComponent et decodeURIComponent. Il encode tout ce qui n'est pas un caractère non réservé (lettres, chiffres, -._~), ce qui est le comportement correct pour les paramètres de requête et les données de formulaire.

encodeURI vs encodeURIComponent

JavaScript a deux encodeurs. encodeURI laisse les caractères de structure URL (/ ? & # = + etc.) intacts — utilise-le sur une URL complète. encodeURIComponent échappe tous ces caractères — utilise-le sur la valeur à l'intérieur d'un paramètre de requête.

Cet outil utilise encodeURIComponent, le choix le plus sûr pour intégrer du texte arbitraire dans une URL. Si tu as une URL complète avec une structure à préserver, encode uniquement les parties qui en ont besoin.

Pièges courants

Le signe plus dans les URLs. Certains serveurs traitent '+' comme un espace (héritage de l'encodage de formulaire). encodeURIComponent laisse '+' intact, mais un serveur pourrait le décoder en espace. Pour plus de sécurité, remplace '+' par %2B si tu l'envoies comme donnée.

Double encodage. Encoder une chaîne déjà encodée ajoute une autre couche (% devient %25, donc '%20' devient '%2520'). Vérifie toujours si l'entrée est déjà encodée avant de lancer l'encodage à nouveau.

Augmentation de longueur. Les caractères multi-octets UTF-8 s'étendent à 3-4 codes pourcent chacun. Une chaîne japonaise de 100 caractères peut facilement devenir une URL de 900+ caractères.

Questions fréquentes

Pourquoi mon espace '%20' ne se décode pas en espace ?

Il devrait — mais si tu as '+' dans une URL il peut aussi représenter un espace (encodage de formulaire hérité). Remplace + par espace d'abord si nécessaire.

Est-ce que ça gère les emoji ?

Oui. Les emoji sont encodés comme leurs séquences d'octets UTF-8 (typiquement 4 octets / 4 codes pourcent par emoji).

Quelle est la différence entre l'encodage URL et l'encodage HTML ?

L'encodage URL utilise la notation % pour les contextes d'URL. L'encodage HTML utilise < > etc. pour le HTML. Contextes différents, règles différentes.

Quand encoder et quand ne pas le faire ?

Encode toute valeur allant dans un paramètre de requête URL, un segment de chemin contenant une saisie utilisateur, ou des données de formulaire. N'encode pas une URL déjà construite — cela double-encode.

Pourquoi '%' dans mon texte décodé cause-t-il une erreur ?

Un '%' nu suivi de quelque chose qui n'est pas un hex valide est un encodage pourcent invalide. Encode '%' en '%25' avant de l'inclure dans une URL.

Le navigateur fait-il cela automatiquement ?

Oui — lors de la construction d'URLs via les APIs URL ou URLSearchParams. Cet outil expose la même logique pour un usage ponctuel.

Quels caractères sont 'sûrs' et n'ont pas besoin d'encodage ?

Les lettres (A-Z, a-z), les chiffres (0-9) et ceux-ci : - . _ ~ . Tout le reste est encodé en pourcent par encodeURIComponent.

Les données quittent-elles mon navigateur ?

Non. L'encodage et le décodage s'exécutent tous deux localement.

Outils similaires

Dernière mise à jour:

Découvrez nos prompts IA →