Tous les outils

Encodeur/Décodeur URL

Encodez et décodez les composants URI et les URLs complètes

Comment ça marche

Encodeur/Décodeur URLEncodez et décodez les composants URI et les URLs complètes. Tout le traitement se fait dans votre navigateur — sans téléversement, sans inscription, sans e-mail. Gratuit pour toujours.

Dernière mise à jour:

À propos de Encodeur/Décodeur URL

Les URLs ne peuvent transporter en toute sécurité qu'un petit sous-ensemble de l'ASCII. Dès que tu dois mettre un espace, une barre oblique, un emoji, un "é" ou une valeur de query contenant "&" dans un lien, il faut percent-encoder. Cet encodeur/décodeur URL applique exactement les mêmes algorithmes que le navigateur utilise en interne — encodeURI pour les URLs complètes et encodeURIComponent pour les valeurs individuelles de query string — pour que la sortie soit identique octet pour octet à ce que ton code produirait.

Utilise-le quand tu prépares un redirect OAuth, debugges un webhook arrivé doublement encodé, construis un lien de tracking avec des paramètres UTM contenant des espaces, ou colles un chemin non-ASCII dans Slack et reçois un mur de "%C3%BC" en retour. Changer de mode te montre comment les caractères réservés comme "/", "?" et "&" sont traités différemment entre le contexte URL complète et composant — c'est précisément là que la majorité des bugs d'encodage se cachent.

Tout se passe dans ton navigateur. Rien de l'URL — y compris les tokens, identifiants de session ou PII éventuels dans la query string — n'est envoyé à un serveur, journalisé ou mis en cache. Cela compte quand tu debugges un lien de production qui contient un paramètre signé à usage unique que tu ne veux pas voir fuiter.

Comment utiliser Encodeur/Décodeur URL

  1. Colle ton URL ou texte brut dans la zone de saisie.
  2. Choisis un mode : encodeURIComponent pour les valeurs de paramètres, ou encodeURI (URL complète) pour les liens entiers.
  3. Clique sur Encoder pour convertir les caractères bruts en percent-escapes, ou sur Décoder pour inverser une chaîne déjà encodée.
  4. Copie le résultat en un clic et colle-le dans ton code, ton navigateur ou Postman.
  5. Si le décodage affiche "Séquence encodée invalide", inspecte l'entrée pour des "%" isolés non suivis de deux chiffres hexadécimaux.

Cas d'usage courants

  • Construire des URLs de redirection OAuth/SAML où les paramètres state et code doivent rester intacts.
  • Encoder des noms de fichiers non-ASCII avant de les placer dans des en-têtes Content-Disposition ou des clés S3.
  • Nettoyer des URLs doublement encodées ("%2520" au lieu de "%20") sorties d'un proxy mal configuré.
  • Produire des valeurs de query string sûres pour des liens de tracking contenant espaces, esperluettes ou guillemets.
  • Debugger des webhooks où un service a URL-encodé une valeur et un autre l'a décodée deux fois.

Astuces et erreurs courantes

  • Utilise encodeURIComponent pour toute valeur unique placée après "=" dans une query string. Réserve encodeURI à l'URL entière — il laisse exprès "&", "=", "?" et "/" intacts.
  • Les espaces dans une query string doivent devenir "%20", pas "+". La forme "+" ne s'applique qu'aux corps application/x-www-form-urlencoded, pas aux chemins URL.
  • Si une chaîne fait l'aller-retour encode → decode et revient avec des escapes en plus, ton entrée était déjà encodée une fois — décode-la d'abord, puis ré-encode.
  • Les fragments de hash ("#section") sont conservés par encodeURI mais traités comme texte littéral par encodeURIComponent — choisis le mode adapté à ton contexte.

Questions fréquentes

Différence entre encodeURI et encodeURIComponent ?

encodeURI conserve les caractères structurels d'URL comme /, ?, & — pour URL complètes. encodeURIComponent les percent-encode aussi — pour valeurs de paramètres query.

Pourquoi 'Séquence encodée invalide' au décodage ?

L'entrée contient un échappement % mal formé (p. ex. '%G1'). Vérifiez que chaque % est suivi de deux chiffres hex valides, ou faites d'abord 'Encode' sur le texte brut.

Mes données sont-elles envoyées quelque part ?

Non. L'encodage/décodage s'exécute localement dans votre navigateur — rien n'est envoyé ni journalisé.

Cet outil gère-t-il les caractères non-ASCII comme les accents ou les emojis ?

Oui. L'entrée est interprétée en UTF-8 avant le percent-encoding, donc "é" devient "%C3%A9" et un emoji unique devient une séquence de quatre octets — exactement conforme à la RFC 3986 et à ce que produit fetch() dans le navigateur.

Puis-je encoder une URL entière avec query string d'un seul coup ?

Utilise le mode "encodeURI (URL complète)" et les caractères structurels /, ?, #, &, = restent intacts pendant que tout le reste est échappé. Si tu dois encoder une valeur de paramètre individuelle (par exemple une URL de redirection imbriquée), passe à encodeURIComponent pour cette portion seulement.

Pourquoi "+" devient parfois "%2B" et reste "+" ailleurs ?

Dans un chemin URL ou une valeur de query traitée par encodeURIComponent, "+" est réservé et devient "%2B". En mode encodeURI il est considéré sûr et laissé tel quel. Le bug le plus courant consiste à mélanger les deux et à voir un email comme "name+tag@example.com" parsé comme un espace.

Outils similaires