🧰 ToolPicoTous les outils →

AccueilBlog › Pourquoi mon lien affiche %20 ou %2520 ?

Pourquoi mon lien affiche %20 ou %2520 ? Guide de l'encodage URL

Vous avez copié un lien et il est truffé de signes pourcentage, ou pire, un « %2520 » apparaît là où vous attendiez un simple espace. Ce guide explique ce que fait réellement l'encodage URL, comment lire une query string et éviter les pièges les plus courants — avec l'outil ToolPico à portée de main pour tester chaque exemple.

Au sommaire

Ce qu'est l'encodage URL

Réponse rapideL'encodage URL (encodage pourcentage) convertit les caractères qui ne peuvent pas circuler tels quels dans une URL — espaces, lettres accentuées, emoji, symboles réservés comme &, ? et # — en un format %XX lisible sans ambiguïté par les navigateurs et les serveurs.

Une URL n'accepte qu'un sous-ensemble restreint de caractères ASCII sans risque de confusion. Une espace, par exemple, casserait la lecture de l'adresse si elle était laissée telle quelle — elle est donc remplacée par %20. Une lettre accentuée comme « é » est d'abord convertie en octets UTF-8, puis chaque octet est écrit sous sa forme %XX : « é » devient %C3%A9.

Encodage pourcentageNorme définie par la RFC 3986 : chaque caractère non autorisé est remplacé par % suivi de deux chiffres hexadécimaux représentant sa valeur en octet.

C'est ce mécanisme qui permet d'ajouter du texte libre — une recherche, un nom, une adresse — dans un lien sans jamais casser sa structure.

encodeURIComponent vs encodeURI : lequel utiliser ?

Réponse rapideencodeURIComponent() encode une seule valeur (un paramètre) et encode aussi &, =, ?, /. encodeURI() encode une adresse entière et laisse intacts les caractères structurels dont une URL a besoin pour fonctionner.

C'est la confusion la plus fréquente chez les développeurs débutants. Si vous encodez une adresse complète avec encodeURIComponent, vous obtenez un résultat inutilisable : les : et / du protocole sont eux-mêmes transformés en %XX. À l'inverse, si vous encodez une seule valeur de paramètre avec encodeURI, un caractère comme & dans le texte ne sera pas encodé et pourra être interprété à tort comme un séparateur de paramètres.

FonctionUsageExemple d'entréeRésultat
encodeURIComponentUne seule valeur de paramètrechaussures & sacschaussures%20%26%20sacs
encodeURIUne adresse complètehttps://ex.com/produits?q=sacs à mainhttps://ex.com/produits?q=sacs%20%C3%A0%20main

Dans l'outil, l'onglet « Encoder » propose directement les deux modes (« Composant » et « URI complète ») pour éviter de retenir laquelle des deux fonctions correspond à quel besoin.

Lire une query string et repérer les paramètres de tracking

Réponse rapideUne query string est la liste des paires clé=valeur qui suivent le « ? » dans une URL, séparées par « & ». Un analyseur de query string décode chaque valeur et peut signaler les paramètres de tracking connus comme utm_source, gclid ou fbclid.

Prenons un lien e-commerce réaliste (exemple, pas une vraie boutique) : ?couleur=rouge&taille=42&utm_source=instagram&utm_medium=cpc&fbclid=IwAR123abc. Les deux premiers paramètres décrivent le produit ; les trois suivants ne servent qu'au suivi publicitaire et n'ont aucune utilité pour la personne qui reçoit le lien.

ParamètreRôleUtile au destinataire ?
couleur, tailleDécrit le produit affichéOui
utm_source, utm_mediumOrigine de la campagne marketingNon
fbclid, gclidIdentifiant de clic publicitaireNon

L'onglet « Analyser Query » décompose automatiquement ces paires en tableau et signale les paramètres de tracking reconnus, ce qui permet ensuite de reconstruire un lien plus court et plus propre via l'onglet « Construire Query ».

À noter : les chiffres ci-dessus (campagne « instagram », « juillet2026 ») sont des exemples illustratifs, pas des statistiques réelles — chaque lien a sa propre combinaison de paramètres selon la plateforme qui l'a généré.

Le piège du double encodage (%2520)

Réponse rapide%2520 apparaît quand un %20 déjà encodé (une espace) est encodé une seconde fois, car le caractère % lui-même devient %25. C'est le signe qu'un système a encodé les mêmes données deux fois.

Ce cas survient souvent quand un lien passe par plusieurs couches logicielles qui encodent chacune sans vérifier si le texte l'est déjà — un formulaire, puis un système de redirection, puis un outil de tracking. Le résultat final devient illisible et peut même casser le décodage automatique de certains outils.

Scénario concret : un système encode d'abord une espace en %20, puis un second système, plus loin dans la chaîne, encode à nouveau tout le texte sans se soucier de ce qui existait déjà — le % du %20 devient alors %25, ce qui donne %2520. Pour retrouver le texte d'origine en une seule étape plutôt que de décoder manuellement couche par couche, l'onglet « Décoder » propose une option « décodage multi-niveaux » qui résout chaque niveau d'encodage imbriqué automatiquement.

Encodez, décodez et analysez vos URL en un clic

Les 6 modes (encoder, décoder, en masse, analyser query, construire query, analyser URL) tournent entièrement dans votre navigateur.

Essayer l'outil →

Questions fréquentes

Qu'est-ce que l'encodage URL ?
L'encodage URL (encodage pourcentage) convertit les caractères qui ne peuvent pas être utilisés directement dans une URL — espaces, lettres accentuées, emoji et symboles réservés comme &, ? et # — en un format %XX que les navigateurs et les serveurs peuvent interpréter sans risque. Par exemple, une espace devient %20 et une lettre accentuée comme é devient %C3%A9 en UTF-8.
Quelle est la différence entre encodeURIComponent et encodeURI ?
encodeURIComponent() encode une SEULE partie d'une URL, comme une valeur de requête, et encode aussi les caractères structurels comme &, =, ? et /. encodeURI() encode une URL ENTIÈRE et laisse intacts les caractères dont une URL a besoin pour fonctionner — comme :, /, ?, # et &. Utilisez encodeURIComponent pour une seule valeur de paramètre, et encodeURI pour une adresse complète.
Pourquoi vois-je parfois une valeur doublement encodée comme %2520 ?
%2520 est ce que l'on obtient lorsqu'un %20 déjà encodé (une espace) est encodé une seconde fois, car le caractère « % » lui-même est encodé en %25. C'est généralement le signe qu'un système encode par erreur les mêmes données deux fois (double encodage). Activer le « décodage multi-niveaux » dans l'onglet « Décoder » résout chaque couche imbriquée jusqu'au texte d'origine en une seule passe.
Comment lire les paramètres d'une query string ?
Une query string est l'ensemble des paires clé=valeur qui suivent le « ? » dans une URL, séparées par « & » (par ex. ?couleur=rouge&taille=42). Collez l'URL complète dans l'onglet « Analyser Query » de l'outil : chaque paramètre est automatiquement décodé et affiché dans un tableau, et les paramètres de tracking connus comme utm_source ou fbclid sont signalés.
Comment retirer les paramètres de tracking (UTM, fbclid, gclid) d'un lien ?
Collez le lien complet dans l'onglet « Analyser Query » : l'outil détecte automatiquement les paramètres UTM, gclid, fbclid et autres identifiants de tracking connus, les signale dans le tableau de résultats, et vous pouvez reconstruire une version propre de l'URL sans ces paramètres via l'onglet « Construire Query ».
Note méthodologique : les exemples numériques et noms de domaine utilisés dans cet article sont fictifs et servent uniquement à illustrer le fonctionnement de l'encodage/décodage URL ; ce contenu est fourni à titre informatif et ne remplace pas une documentation technique officielle (RFC 3986, MDN).