Encodeur / Décodeur URL
Encodez ou décodez des URLs (percent-encoding) instantanément. Traitement 100 % local.
Caractères courants encodés
→ %20! → %21# → %23$ → %24& → %26' → %27= → %3D? → %3F@ → %40/ → %2F: → %3Aé → %C3%A9Questions fréquentes
Pourquoi encoder les URLs ?
Les URLs ne peuvent contenir que des caractères ASCII spécifiques. Les espaces, accents, caractères spéciaux et non-ASCII doivent être encodés en percent-encoding (ex : espace → %20, é → %C3%A9).
Sans encodage, les URLs malformées peuvent causer des erreurs 400, des failles de sécurité ou un comportement imprévisible des serveurs.
Quelle est la différence entre encodeURI et encodeURIComponent ?
encodeURI() encode une URL complète et préserve les caractères structurels (/, ?, &, =, #, :). encodeURIComponent() encode un composant individuel (paramètre, valeur) et encode TOUS les caractères spéciaux y compris / ? & = #.
Pour les valeurs de paramètres GET, utilisez toujours encodeURIComponent.
Qu'est-ce que le percent-encoding ?
Le percent-encoding (ou URL encoding) représente les caractères non-ASCII par un signe % suivi de deux chiffres hexadécimaux correspondant à la valeur de l'octet UTF-8.
Par exemple : espace = %20, @ = %40, / = %2F, é = %C3%A9, emoji 🚀 = %F0%9F%9A%80.
Les espaces doivent-ils être encodés en %20 ou en + ?
Cela dépend du contexte. Dans les chemins d'URL, les espaces s'encodent en %20. Dans les paramètres de formulaires HTML (application/x-www-form-urlencoded), les espaces s'encodent en +.
Les deux sont valides dans leur contexte respectif, mais %20 est plus universel et recommandé dans les APIs REST.
Comment décoder une URL encodée en JavaScript ?
Utilisez decodeURIComponent() pour décoder un composant individuel, ou decodeURI() pour une URL complète. Attention : decodeURIComponent() lève une erreur URIError si la séquence percent-encoded est invalide.
Encapsulez l'appel dans un try/catch pour les entrées non fiables.
Découvrez nos autres outils pour développeurs :
Percent-encoding défini par la RFC 3986 (IETF, 2005) — Uniform Resource Identifier (URI): Generic Syntax. Encodage via encodeURIComponent() / decodeURIComponent() (ECMAScript). Traitement 100 % côté client.