Développeur

URL Encoder / Decoder

Les espaces, symboles et caractères spéciaux cassent les URLs — le codage en pourcentage corrige cela. Encodez n'importe quelle URL pour une transmission sûre, ou décodez-la pour la ramener à un texte lisible, instantanément.

Cet outil vous a-t-il aidé ?

Qu'est-ce que URL Encoder / Decoder ?

Un encodeur/décodeur URL est un outil essentiel du développement web qui convertit entre le texte brut et le format d'encodage pour cent pourcentage sûr pour les URL. Lorsque les URL contiennent des espaces, des symboles spéciaux ou des caractères non-ASCII comme les lettres accentuées et les emojis, elles cassent si elles ne sont pas correctement encodées. Cet outil offre un encodage et décodage instantanés avec support complet du mode URL (encodage d'URL complètes) et du mode composant (encodage de valeurs de paramètres de requête individuelles), plus un mode lot pour traiter plusieurs chaînes en même temps. Il gère toutes les opérations d'encodage pour cent standard définies dans RFC 3986.

Quand Utiliser Cette Calculatrice

  • Vous construisez une URL avec des paramètres de requête contenant des espaces, des symboles ou des caractères non ASCII
  • Vous devez décoder une URL encodée en pourcentage pour lire son contenu réel
  • Vous déboguez une API qui rejette votre URL en raison de caractères spéciaux non encodés
  • Vous traitez des URLs soumises par des utilisateurs qui doivent être assainies avant utilisation
  • Vous devez encoder ou décoder plusieurs segments d'URL en lot à la fois
  • Vous construisez des redirections ou des URLs de rappel où les paramètres doivent être correctement encodés

Étapes:

  1. Saisissez ou collez le texte/l'URL que vous souhaitez encoder ou décoder.
  2. Sélectionnez le mode Encoder ou Décoder.
  3. Cliquez sur le bouton Convertir.
  4. Copiez le résultat pour l'utiliser dans votre application.

Formule

Encodage : caractères non sûrs → % + code hexadécimal à 2 chiffres ➡ Décodage : %XX → caractère d'origine

Cas d'utilisation

  • Construire des chaînes de requête sûres pour les URLs
  • Traiter les paramètres des requêtes API
  • Déboguer des URLs encodées
  • Créer des slugs et des chemins adaptés aux URLs

Avantages Clés

  • Encodage et décodage instantanés avec résultats en temps réel
  • Supporte le mode URL et le mode composant pour différents contextes
  • Mode lot pour encoder ou décoder plusieurs chaînes simultanément
  • Gère tous les caractères spéciaux incluant Unicode et emojis
  • 100% basé sur le navigateur — aucune donnée envoyée au serveur
  • Comptage visuel des caractères pour vérifier que l'encodage n'a pas dupliqué ni tronqué l'entrée

Conseils de Pro

  • Toujours encoder les paramètres URL générés par l'utilisateur avant de les inclure dans une URL
  • Utiliser encodeURIComponent() en JavaScript pour les valeurs individuelles de paramètres de requête
  • Décoder les URL avant de les afficher aux utilisateurs pour une meilleure lisibilité
  • Attention au double encodage: si vous voyez %25 suivi de plus de chiffres hexadécimaux, l'URL a probablement été encodée deux fois
  • Utilisez le mode composant lors de la construction de chaînes de requête et le mode URL lors de l'encodage de chemins d'URL entiers ou d'URLs complètes

Erreurs Courantes à Éviter

  • Double encodage des URL en encodant une URL déjà encodée, convertissant %20 en %2520
  • Utiliser le mauvais contexte d'encodage — mode URL et mode composant produisent des sorties différentes
  • Oublier que + ne représente un espace que dans les données application/x-www-form-urlencoded
  • Ne pas gérer correctement les caractères non-ASCII — assurez-vous toujours de l'encodage UTF-8 avant l'encodage en pourcentage

Termes Clés Expliqués

Encodage pour cent: Le mécanisme standard pour encoder les caractères dans les URL, remplace les caractères non sûrs par % suivi de leur code ASCII hexadécimal à deux chiffres
Chaîne de requête: La partie d'une URL après le caractère ?, contient des paires clé-valeur séparées par &
Caractères réservés: Caractères comme :, /, ?, #, [, ], @, !, $, &, (, ), *, +, ,, ;, = avec signification syntaxique spéciale dans les URL selon RFC 3986
Mode composant vs mode URL: Le mode composant encode plus de caractères et est pour les valeurs individuelles; le mode URL préserve la structure d'URL et est pour les chemins complets

Concepts connexes

  • Codage en pourcentage : le mécanisme consistant à remplacer les caractères non sûrs par % suivi de leur code ASCII hexadécimal à deux chiffres pour une transmission sûre via URL
  • Chaîne de requête : la partie d'une URL après le caractère ?, contenant des paires clé-valeur séparées par des caractères &
  • Caractères réservés : des caractères comme :, /, ?, #, [, ], @, !, $, &, (, ), *, +, ,, ;, = qui ont une signification particulière dans la syntaxe URL selon la RFC 3986
  • Caractères sûrs pour les URLs : caractères non réservés (lettres, chiffres, -, _, ., ~) qui ne nécessitent pas d'encodage dans les URLs
  • encodeURIComponent vs encodeURI : fonctions JavaScript où encodeURIComponent encode tout sauf les lettres, les chiffres et _*-.~ pour des valeurs individuelles, tandis qu'encodeURI préserve les caractères de structure d'URL pour les URLs complètes

Exemple

Encodage de 'Hello World & Friends!' → 'Hello%20World%20%26%20Friends%21'. Décodage de 'search%3Fq%3Dhello+world' → 'search?q=hello world'.

Interprétation de vos résultats

L'encodeur convertit les caractères d'URL non sûrs (espaces, &, ?, #, non ASCII, etc.) au format de codage en pourcentage, où chaque caractère devient % suivi de son code hexadécimal à deux chiffres. Le décodeur inverse ce processus, restaurant le texte lisible d'origine. Le nombre de caractères vous aide à vérifier que l'encodage n'a pas dupliqué ou tronqué votre saisie de manière inattendue. Le mode composant encode un ensemble plus large de caractères et est conçu pour encoder des valeurs de paramètres de requête individuelles. Le mode URL est plus strict quant à ce qui est encodé et est conçu pour encoder des chemins d'URL entiers ou des URLs complètes. Utilisez le mode composant lorsque vous construisez des chaînes de requête et le mode URL lorsque vous encodez une URL complète. Le mode lot vous permet d'encoder ou de décoder plusieurs lignes à la fois, ce qui est utile lorsque vous avez une liste d'URLs ou de paramètres à traiter. Chaque ligne est traitée comme une saisie séparée et tous les résultats sont affichés ensemble pour un copier facile.

Questions fréquentes

Pourquoi les URLs ont-elles besoin d'être encodées ?
Les URLs ne peuvent contenir que certains caractères ASCII. Les caractères comme les espaces, &, ?, # et les caractères non ASCII doivent être encodés (codage en pourcentage) pour garantir une transmission sûre sur Internet.
Qu'est-ce que le codage en pourcentage ?
Le codage en pourcentage remplace les caractères non sûrs par un signe % suivi de leur code hexadécimal à deux chiffres. Par exemple, un espace devient %20 et & devient %26.
Le codage d'URL est-il identique au codage HTML ?
Non. Le codage d'URL (codage en pourcentage) est destiné aux URLs. Le codage HTML utilise des entités comme &amp; pour & ou &lt; pour <. Ils servent à des fins différentes dans le développement web.
Quand dois-je utiliser le mode URL plutôt que le mode composant ?
Utilisez le mode composant pour encoder la valeur d'un paramètre de requête unique (par exemple, un terme de recherche). Utilisez le mode URL pour encoder un chemin d'URL complet ou lorsque vous avez besoin que toute la chaîne soit sûre pour une URL. Le mode composant encode davantage de caractères car il suppose que la valeur sera placée à l'intérieur d'une structure d'URL.
Pourquoi l'encodage de 'Hello World' donne-t-il 'Hello%20World' au lieu de 'Hello+World' ?
Dans les segments de chemin d'URL, les espaces sont encodées en %20. L'encodage avec + pour les espaces n'est utilisé que dans les données application/x-www-form-urlencoded (envois de formulaires HTML). La bonne pratique moderne consiste à utiliser %20 de manière cohérente dans les URLs. La calculatrice utilise %20 pour l'encodage d'URL.
Puis-je encoder des caractères non ASCII comme des emojis ou des lettres accentuées ?
Oui. Les caractères non ASCII sont d'abord convertis en octets UTF-8, puis chaque octet est encodé en pourcentage. Par exemple, l'emoji ☺ (U+1F600) devient %F0%9F%98%80. Les lettres accentuées comme é (U+00E9) deviennent %C3%A9. C'est l'approche standard définie dans la RFC 3986.
Quelle est la différence entre ceci et le codage d'entités HTML ?
Le codage d'URL (codage en pourcentage) est destiné aux URLs — il convertit les caractères en codes hexadécimaux %XX. Le codage d'entités HTML convertit les caractères en entités nommées ou numériques comme &amp; pour & ou &#8364; pour €. Ils servent à des fins complètement différentes et ne sont pas interchangeables.
Pourquoi certaines URLs fonctionnent-elles sans encodage même si elles contiennent des caractères spéciaux ?
Les navigateurs modernes encodent automatiquement les URLs lorsque vous y naviguez ou lorsque vous soumettez des formulaires. Cependant, lorsque vous construisez des URLs de manière programmatique (dans du code, des appels API ou des redirections côté serveur), vous devez encoder manuellement car le serveur ne le fera pas à votre place.
Existe-t-il un risque de double encodage ?
Oui. Si vous encodez une URL déjà encodée, %20 devient %2520, ce qui est incorrect. Vérifiez toujours si votre entrée est déjà encodée avant d'encoder à nouveau. Cette calculatrice affiche la sortie décodée afin que vous puissiez vérifier que le résultat est correct.
Comment gérer les URLs encodées en JavaScript ?
Utilisez decodeURIComponent() pour décoder et encodeURIComponent() pour encoder des valeurs individuelles. Pour les URLs complètes, utilisez decodeURI() et encodeURI(), qui préservent les caractères de structure d'URL (/, ?, #, etc.). N'utilisez jamais escape() ni unescape() — elles sont obsolètes et ne gèrent pas correctement Unicode.

Découvrez plus d'outils

Une sélection fraîche de toute notre bibliothèque d'outils.