Encodage 🔒 Fonctionne dans votre navigateur — aucune donnée envoyée

Encodeur et Décodeur d'URL

Encodez et décodez en pourcentage URL, chaînes de requête et paramètres, dans votre navigateur.

Entrée
Sortie

Encodeur et décodeur d'URL - encodage pourcent en ligne

Une URL ne peut contenir qu'un jeu de caractères restreint. Tout le reste - espaces, accents, esperluettes, barres obliques à l'intérieur d'une valeur, emojis, textes arabes ou japonais - doit être encodé en pourcent avant de circuler dans un lien, une query string ou l'envoi d'un formulaire. Cet encodeur et décodeur d'URL gratuit effectue la conversion instantanément, dans les deux sens, sans rien envoyer à un serveur.

Collez votre texte et cliquez sur Encoder pour obtenir une chaîne prête à circuler, ou collez une URL encodée et cliquez sur Décoder pour la relire en clair. Le sélecteur de mode permet de basculer entre encodeURIComponent et encodeURI : c'est ce choix qui décide si votre lien fonctionne ou casse silencieusement.

Schéma : « a b&c=é » encodé caractère par caractère en « a%20b%26c%3D%C3%A9 ».CaractèreOctets UTF-8Encodéa61a␣20%20b62b&26%26c63c=3D%3DéC3 A9%C3%A9Conservés : lettres, chiffres, - _ . ~Échappé en %XX
Les lettres passent telles quelles. L'espace et les caractères réservés & et = deviennent %20, %26 et %3D, et le é est d'abord converti en ses deux octets UTF-8, C3 et A9, écrits chacun sous la forme %XX.

Qu'est-ce que l'encodage d'URL ?

L'encodage d'URL, également appelé encodage pourcent, remplace un caractère non sûr par un signe pourcent suivi de sa valeur hexadécimale. Une espace devient %20, une barre oblique %2F, un point d'interrogation %3F. Les caractères hors ASCII sont d'abord convertis en octets UTF-8 puis encodés octet par octet : c'est pourquoi une seule lettre accentuée produit souvent deux groupes pourcent, et un emoji jusqu'à quatre.

encodeURIComponent ou encodeURI : quel mode choisir ?

SituationModeRaison
Encoder la valeur d'un paramètreencodeURIComponentÉchappe &, =, ?, / et # pour que la valeur ne sorte pas de son champ
Encoder un segment de chemin comme un slugencodeURIComponentEmpêche une barre oblique interne de créer un nouveau niveau de chemin
Nettoyer une URL complète existanteencodeURIPréserve les caractères structurels, l'adresse reste une URL valide
Transmettre une URL de retour dans une autre URLencodeURIComponentL'URL interne est une valeur, pas une structure

Comment encoder ou décoder une URL

  1. Collez le texte, la valeur de paramètre ou l'URL complète dans le panneau de saisie.
  2. Choisissez encodeURIComponent pour une valeur isolée, ou encodeURI pour une adresse entière.
  3. Cliquez sur Encoder pour encoder, ou sur Décoder pour faire l'inverse.
  4. Copiez la sortie directement dans votre code, la barre d'adresse ou votre client d'API.

Les caractères que vous croiserez le plus

  • %20 - espace. Dans les anciens envois de formulaire, + joue le même rôle.
  • %2F - barre oblique, encodée lorsqu'elle appartient à la valeur et non au chemin.
  • %3F et %26 - point d'interrogation et esperluette, les deux séparateurs de paramètres.
  • %3D - signe égal, qui sépare le nom du paramètre de sa valeur.
  • %23 - dièse, sinon interprété comme le début d'un identifiant de fragment.
  • %2B - signe plus, qui doit être encodé sous peine d'être lu comme une espace.

Quand utiliser un encodeur d'URL

  • Pour construire des liens de recherche, de filtre ou de pagination où la saisie utilisateur finit dans la query string.
  • Pour transmettre une adresse de retour en redirect_uri à un fournisseur OAuth ou à une passerelle de paiement.
  • Pour ajouter des paramètres de campagne UTM contenant des espaces ou de la ponctuation.
  • Pour décoder un long lien de tracking reçu par e-mail et voir où il pointe réellement.
  • Pour déboguer un appel d'API dont un paramètre contient du JSON, un horodatage ou une signature.
  • Pour gérer des slugs non latins, afin qu'un titre persan, japonais ou cyrillique survive au copier-coller.

Les erreurs qui cassent les liens

  • Double encodage. Réencoder une chaîne déjà encodée transforme %20 en %2520. Décodez d'abord, puis encodez une seule fois.
  • Encoder toute l'URL avec encodeURIComponent. Le :// et les barres obliques sont échappés et l'adresse cesse d'être une URL.
  • Confondre + et %20. Dans une query string, un plus peut signifier une espace ; dans un chemin, il désigne un vrai plus.
  • Oublier l'UTF-8. Les pages anciennes encodées en ISO-8859-1 produisent des groupes qu'un décodeur moderne ne sait pas rétablir.
  • Faire confiance à une valeur décodée. Décoder n'est pas assainir : validez la saisie avant de l'utiliser dans une requête ou dans du HTML.

Tout se passe dans votre navigateur

L'encodeur s'appuie sur les fonctions JavaScript de votre propre navigateur : rien n'est téléversé, stocké ni journalisé. Les URL signées, les identifiants de session et les paramètres contenant des données clients restent donc là où ils doivent rester, sur votre machine.

Encoder une URL en JavaScript, Python, PHP, Java et C#

LangageEncoder une valeurRemarques
JavaScriptencodeURIComponent(valeur)encodeURI pour une adresse complète
Pythonurllib.parse.quote(valeur, safe='')quote_plus transforme les espaces en +
PHPrawurlencode($valeur)urlencode utilise + pour les espaces
JavaURLEncoder.encode(valeur, "UTF-8")Produit + pour les espaces ; dans un chemin, remplacez par %20
C# / .NETUri.EscapeDataString(valeur)HttpUtility.UrlEncode utilise +
PowerShell[uri]::EscapeDataString($valeur)Mêmes règles que .NET

Outils complémentaires

URL et charges utiles voyagent ensemble. Décodez le binaire embarqué avec l'encodeur Base64, lisez le jeton d'une URL de callback avec le décodeur JWT, mettez en forme la réponse avec le formateur JSON et testez vos motifs avec le testeur d'expressions régulières.

Guides associés