Aller au contenu principal

Encodeur / décodeur URL

Percent-encoding RFC 3986 instantané

Besoin d'encoder un paramètre de query string ou de décoder un lien URL-encodé ? Collez votre contenu ci-dessous et obtenez le résultat en un clic.

Sélectionnez le sens de conversion

Encodage instantané

Transformez du texte en percent-encoding en temps réel. Idéal pour les query strings, paramètres UTM et formulaires HTML.

Décodage fiable

Retrouvez le contenu original d'une chaîne URL-encodée. Vérifiez des paramètres de redirection, des liens email ou des URLs de tracking.

Support UTF-8 complet

Encodez et décodez les caractères Unicode, accents, émojis et idéogrammes CJK sans perte de données.

100% gratuit

Aucune inscription requise. Utilisez l'outil autant de fois que nécessaire sans limite.

Confidentialité garantie

Votre contenu n'est pas stocké. L'encodage/décodage s'effectue et les données sont immédiatement supprimées.

Pourquoi utiliser un encodeur URL ?

Le percent-encoding (ou URL encoding) est indispensable dès que vous manipulez des paramètres dans une URL. Les caractères spéciaux comme &, =, ? ou les espaces doivent être encodés pour ne pas casser la structure de l'URL.

Sans encodage correct, un paramètre contenant prix=10&20 serait interprété comme deux paramètres distincts (prix=10 et 20). Le navigateur ne peut pas deviner votre intention : l'encodage lève l'ambiguïté.

Trois situations où l'encodage URL est indispensable :

  • Paramètres de query string → Un & ou = dans une valeur coupe la chaîne au mauvais endroit
  • Paramètres UTM → Des espaces ou caractères accentués dans utm_campaign cassent le tracking analytics
  • Redirections et callbacks → Les URLs imbriquées (OAuth, SSO, emails marketing) doivent être encodées intégralement

Comment utiliser l'encodeur / décodeur URL en 3 étapes

Étape 1 : Coller le contenu

Collez dans la zone de saisie :

  • Du texte brut si vous voulez encoder (ex. : prix=10€ & livraison gratuite)
  • Une chaîne encodée si vous voulez décoder (ex. : prix%3D10%E2%82%AC+%26+livraison+gratuite)

Étape 2 : Sélectionner l'opération

Cliquez sur Encoder l'URL pour transformer du texte en percent-encoding, ou sur Décoder l'URL pour retrouver le texte original à partir d'une chaîne encodée.

Étape 3 : Copier le résultat

Le résultat apparaît instantanément. Cliquez sur le bouton copier pour récupérer la chaîne convertie, prête à être insérée dans votre code, URL ou configuration.


Qu'est-ce que le percent-encoding ?

Le percent-encoding est le mécanisme défini par la RFC 3986 pour représenter des caractères spéciaux dans une URI. Chaque octet non autorisé est remplacé par % suivi de deux chiffres hexadécimaux représentant sa valeur UTF-8.

Exemple concret :

Texte original : Café & Thé = 15€
Encodé :         Caf%C3%A9+%26+Th%C3%A9+%3D+15%E2%82%AC

Le é (U+00E9) occupe deux octets en UTF-8 (C3 A9), d'où %C3%A9. Le symbole (U+20AC) occupe trois octets (E2 82 AC), d'où %E2%82%AC.

Caractères non-réservés (jamais encodés)

Ces caractères passent tels quels dans une URL :

A-Z  a-z  0-9  -  _  .  ~

Caractères réservés (encodés dans les valeurs)

CaractèreRôle dans l'URLEncodé
?Début des paramètres%3F
&Séparateur de paramètres%26
=Assignation clé/valeur%3D
#Fragment (ancre)%23
/Séparateur de chemin%2F
+Espace (query string)%2B
@Identifiant utilisateur%40

Table d'encodage des caractères courants

CaractèreDescriptionEncodé (query)Encodé (path)
espaceEspace blanc+%20
&Esperluette%26%26
=Signe égal%3D%3D
?Point d'interrogation%3F%3F
#Dièse%23%23
éE accent aigu%C3%A9%C3%A9
ñN tilde%C3%B1%C3%B1
Symbole euro%E2%82%AC%E2%82%AC
Idéogramme CJK%E6%97%A5%E6%97%A5

Note : La différence entre query et path concerne uniquement l'espace. En query string (application/x-www-form-urlencoded), l'espace devient +. Dans un chemin d'URL, il devient %20.


Cas d'usage concrets

Cas 1 : Paramètres UTM avec caractères spéciaux

Problème : Vous créez un lien de tracking pour une campagne nommée "Soldes été 2025 – 50%".

Sans encodage :

https://captaindns.com?utm_campaign=Soldes été 2025 – 50%

Les espaces, le tiret et le % cassent le lien. Google Analytics ne capte pas la campagne.

Avec encodage :

https://captaindns.com?utm_campaign=Soldes+%C3%A9t%C3%A9+2025+%E2%80%93+50%25

Le tracking fonctionne correctement, chaque caractère spécial est préservé.


Cas 2 : URL de callback OAuth

Problème : Vous configurez un flux OAuth et devez passer une URL de retour en paramètre.

Sans encodage :

https://auth.captaindns.com/authorize?redirect_uri=https://captaindns.com/callback?token=abc&scope=read

Le serveur interprète scope=read comme un paramètre de /authorize, pas de /callback.

Avec encodage du redirect_uri :

https://auth.captaindns.com/authorize?redirect_uri=https%3A%2F%2Fcaptaindns.com%2Fcallback%3Ftoken%3Dabc&scope=read

L'URL imbriquée est correctement isolée. Le flux OAuth fonctionne.


Cas 3 : Debug d'un lien email cassé

Problème : Un client signale qu'un lien dans votre newsletter ne fonctionne pas. Le lien brut dans l'email ressemble à :

https://captaindns.com/offre?nom=Caf%C3%A9+%26+Th%C3%A9&code=PROMO%2D20

Action : Collez la partie après ? dans le décodeur pour lire les paramètres :

  • nom = Café & Thé
  • code = PROMO-20

Vous identifiez immédiatement si les valeurs sont correctes ou si un double encodage a corrompu le lien.


❓ FAQ - Questions fréquentes

Q : Quelle est la différence entre l'encodage URL et le Base64 ?

R : L'encodage URL (percent-encoding) remplace les caractères spéciaux par %XX pour les rendre compatibles avec les URLs. Le Base64 encode des données binaires (images, fichiers) en caractères ASCII. Les deux ne sont pas interchangeables : utilisez l'URL encoding pour les paramètres d'URL, le Base64 pour transmettre des données binaires dans du texte.


Q : Pourquoi les espaces deviennent-ils des + ?

R : C'est une convention du format application/x-www-form-urlencoded, utilisé par les formulaires HTML et les query strings. Dans les chemins d'URL (avant le ?), l'espace est encodé %20. Les deux représentations sont valides dans leur contexte respectif.


Q : Quels caractères ne sont pas encodés ?

R : Les 66 caractères non-réservés définis par la RFC 3986 ne sont jamais modifiés : lettres A-Z, a-z, chiffres 0-9, et quatre symboles : -, _, ., ~. Tous les autres caractères sont encodés lorsqu'ils apparaissent dans une valeur de paramètre.


Q : Puis-je encoder une URL complète ?

R : Non, encodez uniquement les valeurs des paramètres. Les séparateurs structurels (://, /, ?, &, =) doivent rester tels quels pour que l'URL reste fonctionnelle. Par exemple, encodez la valeur Café & Thé mais pas le ? ou le & qui structurent l'URL.


Q : Que se passe-t-il avec un double encodage ?

R : Un double encodage transforme %26 en %2526 (le % est ré-encodé). Le serveur reçoit alors la chaîne littérale %26 au lieu de &. C'est un piège courant dans les redirections imbriquées. Si vous suspectez un double encodage, décodez deux fois et comparez les résultats.


Q : Que se passe-t-il avec un encodage invalide ?

R : Si vous tentez de décoder une séquence invalide (par exemple %GG ou un % isolé), l'outil affiche un message d'erreur explicatif au lieu d'un résultat corrompu. Corrigez la séquence source avant de réessayer.


Outils complémentaires

OutilUtilité
Encodeur Base64Encodez des données binaires en ASCII pour les API et webhooks
Générateur de slugTransformez un titre en URL propre, sans caractères spéciaux
Compteur de motsVérifiez la longueur de vos paramètres avant de les encoder
Convertisseur de casseConvertissez du texte en camelCase, snake_case ou kebab-case pour vos variables
Générateur de mot de passeCréez des mots de passe aléatoires à intégrer dans vos URLs sécurisées
Générateur de hashCalculez MD5, SHA-256 ou SHA-512 pour vérifier l'intégrité de vos données

Ressources utiles