Convertisseur Gratuit

Encodeur d'URL / Décodeur

Encodez et décodez des URLs et des composants URI instantanément dans votre navigateur. Gratuit, privé et sans téléchargement requis.

Ou

À propos de cet outil

Le codage d'URL (anciennement codage en pourcentage, défini dans la RFC 3986) traduit les caractères qui ont une signification particulière dans les URL (espaces, barres obliques, esperluettes, dièses) sous une forme sûre à l'aide de signes de pourcentage suivis de chiffres hexadécimaux. Le caractère espace devient %20 (ou + dans les contextes codés par forme), l'esperluette devient %26, et ainsi de suite. Sans cet encodage, les caractères spéciaux seraient interprétés comme une syntaxe d'URL plutôt que comme des données littérales, ce qui briserait l'URL ou provoquerait un comportement inattendu.

Il existe deux codages liés mais distincts. Le codage du composant URL standard utilise des %-escapes pour tout ce qui se trouve en dehors du jeu de caractères non réservés : A-Z, a-z, 0-9, trait d'union, trait de soulignement, point, tilde. La variante codée par formulaire (application/x-www-form-urlencoded) traite en outre les espaces comme des signes plus et utilise des règles différentes pour certains autres caractères. encodeURIComponent de JavaScript utilise le codage strict des composants ; encodeURI utilise une forme plus permissive qui préserve les caractères de la structure de l'URL.

Cet outil propose à la fois l’encodage et le décodage. Le mode Encodage encapsule chaque caractère qui nécessite un échappement au format %HH ; le mode décodage inverse la transformation. Les deux s’exécutent entièrement dans votre navigateur à l’aide des fonctions URL JavaScript intégrées, de sorte qu’aucune donnée n’est envoyée nulle part.

Pourquoi encoder ou décoder des URL

Chaque fois que des données sont incluses dans une URL (paramètres de chaîne de requête, segments de chemin contenant les entrées de l'utilisateur, cibles de redirection), un codage approprié est requis. Un échec d'encodage produit des URL qui se cassent lorsque des caractères spéciaux apparaissent, fuient les limites des paramètres dans les chaînes de requête (transformant &x=1 en un paramètre distinct) ou sont bloquées par les serveurs Web en tant que requêtes mal formées.

Le décodage est l'inverse : extraire les données originales d'une URL codée. Les barres d'adresse du navigateur affichent souvent les URL sous forme codée ; le décodage révèle ce qui était réellement prévu. La journalisation, le débogage et l’analyse de sécurité bénéficient tous d’URL décodées qui affichent les paramètres et chemins d’origine.

Comment l'utiliser

Collez une chaîne, choisissez la direction.

  1. Choisissez encoder ou décoder: Encode encapsule les caractères non sécurisés au format %HH. Le décodage inverse les échappements %HH en caractères littéraux.
  2. Ajouter du texte d'entrée: Collez la chaîne à encoder ou décoder. Pour le codage, il s'agit généralement d'une valeur littérale comportant des espaces, des caractères spéciaux ou un contenu non-ASCII. Pour le décodage, il s'agit d'une URL ou d'un composant d'URL contenant des échappements %HH.
  3. Convertir: L'outil applique encodeURIComponent ou decodeURIComponent. La sortie codée peut être intégrée en toute sécurité dans une URL ; la sortie décodée est la valeur littérale d’origine.
  4. Copier ou télécharger: Utilisez le résultat partout où vous en avez besoin. Les valeurs codées s'intègrent dans les URL ; les valeurs décodées révèlent les données originales.

Cas d'utilisation courants

Détails techniques

encodeURIComponent code chaque caractère en dehors de l'ensemble non réservé [A-Za-z0-9-_.~]. Les espaces deviennent %20, les signes plus deviennent %2B, les signes égal deviennent %3D, et ainsi de suite. Les caractères en dehors de l'ASCII sont d'abord codés en UTF-8, puis chaque octet est échappé en %.

encodeURI est plus permissif et est destiné aux URL complètes plutôt qu'aux composants. Il n'échappe pas à /, ?, &, =, # et quelques autres car ces caractères ont une signification de syntaxe URL. Pour intégrer des données utilisateur dans une URL, encodeURIComponent est presque toujours le bon choix.

decodeURIComponent inverse les %-échappements, validant que chaque échappement est bien formé et que les octets résultants forment un UTF-8 valide. Une entrée mal formée génère une erreur plutôt que de produire des déchets.

Meilleures pratiques

Questions fréquentes

Quels caractères nécessitent un codage URL ?
Les caractères réservés (&, =, ?, #, /, :, @) et les caractères non sécurisés (espaces, <, >, {, }, |, ^, ~, [, ], `) doivent être codés. Les caractères alphanumériques et -_.~ sont sûrs et ne nécessitent pas de codage.
Quelle est la différence entre encodeURI et encodeURIComponent ?
encodeURI encode une URL complète mais préserve les caractères réservés (://?#). encodeURIComponent code tout sauf -_.!~*'() — utilisez-le pour les valeurs des paramètres de requête. Cet outil propose les deux modes.
Comment les espaces sont-ils codés dans les URL ?
Les espaces peuvent être codés en %20 (codage en pourcentage standard) ou + (codage de formulaire). %20 est correct pour les chemins d'URL, tandis que + est utilisé dans les chaînes de requête des formulaires HTML. Cet outil utilise %20 par défaut.
Puis-je encoder des caractères Unicode ?
Oui. Les caractères Unicode sont d'abord codés en octets UTF-8, puis chaque octet est codé en pourcentage. Par exemple, « 日 » devient %E6%97%A5 (trois octets UTF-8, chacun codé en pourcentage).
Dois-je utiliser encodeURI ou encodeURIComponent ?
Presque toujours encodeURIComponent. Utilisez encodeURI uniquement si vous disposez d'une URL complète et souhaitez conserver sa structure - ce qui est généralement rare puisque de toute façon, vous créez des URL à partir de composants.
Mes données sont-elles téléchargées sur un serveur ?
Non. L’encodage et le décodage des URL s’effectuent entièrement dans votre navigateur.
Est-ce qu'il gère les emoji Unicode ?
Oui. Les emoji sont des séquences UTF-8 multi-octets ; l'encodeur produit une chaîne d'octets % d'échappement que les décodeurs réassemblent correctement pour revenir à l'emoji d'origine.
Que se passe-t-il si mon entrée contient des chaînes d'apparence %HH qui ne sont pas réellement codées ?
L'encodage transforme chaque % en %25, puis réapplique l'échappement pour le reste. Le décodage d'une entrée stricte génère des erreurs sur les échappements mal formés ; les chaînes d'apparence ambiguë peuvent être mal décodées.