UTILITY GUIDE

URL Encode/Decode : Guide du Percent-Encoding des URL

Comment fonctionne l'encodage URL, pourquoi les URL doivent etre encodes, et comment gerer correctement les caracteres speciaux et Unicode.

Percent-encoding : rendre les URL sures

Les URL (Uniform Resource Locator) ne peuvent contenir qu'un sous-ensemble de caracteres ASCII. Les caracteres comme les espaces, &, =, #, ? et tous les caracteres Unicode (lettres accentuees, ideogrammes, emoji) ne peuvent pas apparaitre directement dans une URL car ils ont des significations speciales ou ne sont pas supportes. Le percent-encoding (defini dans la RFC 3986) resout ce probleme en remplacant chaque caractere non sur par % suivi de son code hexadecimal : l'espace devient %20, & devient %26, e accent aigu devient %C3%A9.

Notre URL Encode/Decode gere l'encodage et le decodage dans les deux directions, supportant correctement UTF-8, le double encodage, et les differences entre l'encodage de chemin et de query string. C'est un outil essentiel pour les developpeurs web travaillant avec des API, des parametres de recherche, et tout scenario ou les donnees utilisateur finissent dans une URL.

Quand et quoi encoder

Exemples d'URL encoding
# Spazi
"ciao mondo" → "ciao%20mondo"     (path)
"ciao mondo" → "ciao+mondo"       (form data)

# Caratteri riservati
"a=1&b=2"  → "a%3D1%26b%3D2"     (se sono dati, non delimitatori)

# Unicode / caratteri accentati
"città"    → "citt%C3%A0"

# URL completo - codifica solo i valori!
https://api.esempio.com/search?q=ciao%20mondo&lang=it
#                                  ^^^^^^^^^^^^^^^^
#                            solo il valore è codificato

La regle fondamentale : encodez les valeurs, pas la structure de l'URL. Les caracteres qui composent la structure (://?&=#) ne doivent pas etre encodes quand ils servent de delimiteurs. Ils ne doivent etre encodes que lorsqu'ils apparaissent dans les donnees. Par exemple, si le parametre de recherche est "a=b", le & dans l'URL est un delimiteur (non encode), mais le = dans la valeur doit etre encode : ?search=a%3Db. Les erreurs d'encodage sont parmi les bugs les plus courants dans les applications web.

Securite et URL encoding

L'encodage URL est fondamental pour la securite web. L'injection de parametres URL est un vecteur d'attaque : un input non encode peut modifier la structure de l'URL, ajouter des parametres non prevus, ou causer des comportements inattendus. Tous les frameworks web modernes encodent automatiquement les parametres URL, mais quand vous construisez des URL manuellement (dans des clients API, des scripts, des redirections), l'encodage correct est la responsabilite du developpeur.

Pour d'autres types d'encodage utilises dans le developpement web, notre Base64 Encode/Decode gere l'encodage binaire-texte pour les JWT, data URI et pieces jointes email. Pour la validation de motifs dans les donnees, le Regex Tester permet de tester des expressions regulieres en temps reel. Et pour la securite des connexions sur lesquelles voyagent ces URL, verifiez toujours que votre site utilise HTTPS avec SSL Check — les parametres URL sont visibles dans le trafic HTTP non chiffre.

Un cas insidieux est le double encodage : quand une donnee deja encodee est encodee une seconde fois, %20 devient %2520 (le % est encode en %25). Le resultat est une URL qui ne fonctionne pas car le serveur ne decode qu'une seule fois et obtient %20 comme donnee litterale au lieu de l'espace. Notre outil detecte et gere correctement le double encodage lors du decodage, mais la prevention est preferable : encodez les donnees une seule fois, au moment de la construction de l'URL.

Essayer URL Encode/Decode gratuitement
Encode et décode des URLs avec caractères spéciaux
Utiliser URL Encode/Decode >

Explore the Network