Encodage URL

Collez votre texte ci-dessous et cliquez sur Encoder pour l’encoder en pourcentage pour une utilisation dans les URL. Tout le traitement se fait localement dans votre navigateur.

Copié !

Qu'est-ce que l'encodage URL ?

L'encodage URL (encodage par pourcentage) remplace les caractères non sûrs dans une URL par un % suivi de deux chiffres hexadécimaux. Par exemple, un espace devient %20 et & devient %26.

Le mode Standard encode tous les caractères spéciaux — utilisez-le pour encoder une seule valeur (ex. une requête de recherche). Le mode URL complète préserve les caractères structurels d'URL comme :, /, ?, # — utilisez-le pour encoder une URL entière.

Les trois modes ne diffèrent que par les caractères qu'ils laissent tels quels. Encoder une seule valeur ne laisse aucun caractère réservé intact : une barre oblique à l'intérieur devient %2F au lieu d'un séparateur de chemin. Encoder une URL entière conserve les délimiteurs qui en font une URL. L'encodage de formulaire suit ce qu'un navigateur envoie pour un formulaire HTML, où un espace devient un signe plus. Vous pouvez aussi choisir le jeu de caractères, ce qui compte car les anciens systèmes encodaient des octets qui n'étaient pas de l'UTF-8.

Vous déboguez quelque chose qui refuse de se décoder ?

Une charge utile qui refuse de se décoder est le plus souvent un symptôme, pas la panne : un double encodage quelque part dans la chaîne, un jeu de caractères supposé plutôt que déclaré, un jeton signé sur des octets qui ne sont pas tout à fait ceux attendus. C'est notre métier, sur les intégrations, les API et les systèmes qui se passent des données.

Dites-nous ce qui casse

Questions fréquentes

Qu'est-ce que l'encodage d'URL ?
L'encodage d'URL, aussi appelé encodage pour cent, remplace un caractère par un signe pour cent et la valeur hexadécimale de chacun de ses octets. Une URL ne peut porter qu'un petit jeu de caractères, tout le reste doit donc voyager sous cette forme, de l'espace à l'emoji.
Dois-je encoder une valeur ou l'URL entière ?
Encodez une valeur quand vous placez du texte dans une chaîne de requête, un segment de chemin ou un fragment, car une barre oblique ou une esperluette à l'intérieur casserait l'URL. N'encodez une URL entière que si elle est déjà valide et que vous voulez conserver les délimiteurs qui lui donnent sa structure.
Pourquoi un espace devient-il parfois un signe plus ?
Les données de formulaire suivent les règles x-www-form-urlencoded, qui écrivent un espace comme un signe plus. Toute autre partie d'une URL l'écrit %20. Un analyseur de formulaire relit les deux comme un espace, mais seul %20 est sûr dans un chemin.
Ai-je parfois besoin d'un jeu autre qu'UTF-8 ?
Rarement, mais cela arrive. D'anciennes applications encodaient des octets de Windows-1252, d'ISO-8859-1 ou de Shift_JIS : une valeur conçue pour l'un de ces systèmes arrive illisible si vous supposez de l'UTF-8. Choisissez le jeu de caractères que l'autre côté utilise réellement.
Quelque chose est-il envoyé à votre serveur ?
Non. Toute la page tourne dans votre navigateur avec les API web standard, votre texte ne quitte donc jamais l'onglet. Elle convient donc aux jetons, aux URL internes et à tout ce que vous ne colleriez pas dans un service distant.