Encodeur / Décodeur d'URL

À propos de cet outil

Encode ou décode les caractères interdits dans une URL (pleine largeur, espaces, symboles) à l'aide du codage URL. Vous pouvez basculer entre encodeURIComponent (pour les parties d'URL) et encodeURI (pour une URL complète). Une option permet également de convertir les espaces en +. Tout le traitement s'effectue entièrement dans votre navigateur (aucune donnée n'est envoyée).

Encodage / décodage d'URL

→ Encode toutes les parties nécessaires pour les composants d'URL (valeurs de requête, segments de chemin, etc.).
→ N'encode que le strict nécessaire pour qu'une URL complète déjà valide reste intacte.

Différences entre les modes (détails)
  • encodeURIComponent est idéal pour les composants d'URL (valeurs de requête, segments de chemin, fragments, etc.). Il encode quasiment tout sauf -_.!~*'(), et convertit donc aussi : / ? # & =, etc.
  • encodeURI s'utilise sur une URL complète et préserve les symboles importants pour la syntaxe d'URL tels que :/?#&=,+;$, ce qui évite de casser les protocoles ou séparateurs.
  • Activez « Convertir les espaces en + » si vous avez besoin de compatibilité avec les formulaires (au décodage, + est ramené à un espace).
// Exemple : encoder "a/b?x=1 2"
encodeURIComponent("a/b?x=1 2")
// → "a%2Fb%3Fx%3D1%202"

encodeURI("https://ex.com/a/b?x=1 2")
// → "https://ex.com/a/b?x=1%202"   (:/?= sont conservés et seul l'espace devient %20)

Compléments et précautions

  • encodeURIComponent est destiné aux éléments d'une URL, tandis que encodeURI s'applique à l'URL entière.
  • + est parfois interprété comme un espace dans les formulaires (ceci le normalise en espace lors du décodage).
  • La longueur du résultat peut changer fortement, surtout avec des caractères UTF-8 multioctets.