Encodeur et décodeur d’URL
Avec les deux portées bien séparées
Cet encodeur et décodeur d’URL échappe une valeur dans une adresse. Il encode aussi une adresse entière sans toucher aux barres qui la structurent, ou convertit un domaine international en punycode et inversement. Choisissez la nature de votre texte, et le reste suit.
- GratuitPrix
- 2Portées
- AucuneInscription
- AucuneEnvois
Encodeur et décodeur d’URL
Encodage en pourcentage et punycode, chaque portée à part
- Caractères en entrée
- 0
- Modifiés
- 0
- Caractères en sortie
- 0
Une valeur dans une adresse doit avoir tous ses caractères réservés échappés. Une adresse entière doit garder ses barres obliques et ses deux-points, sinon elle cesse d’être une adresse.
Prêt. Collez quelque chose et la conversion se fait pendant la saisie.
Pourquoi on encode en pourcentage
Tout d’abord, une adresse ne peut transporter en sécurité qu’un petit ensemble de caractères. Des lettres, des chiffres et quelques symboles.
Tout le reste voyage sous la forme d’un signe pourcentage suivi de deux chiffres hexadécimaux. Ainsi, une espace devient %20, un dièse %23, et une lettre accentuée deux ou trois de ces paires.
Les règles viennent du URL Standard, que les navigateurs mettent en œuvre. Les documents plus anciens décrivent la RFC 3986, et les deux s’accordent sur ce qui compte ici.
L’encodage pourcentage n’est donc ni de la compression ni de la sécurité. C’est une façon de dire "ces caractères sont des données, pas de la structure".
Les deux portées, et pourquoi elles diffèrent
Une adresse entière a besoin que sa structure reste intacte. Les barres obliques séparent les segments du chemin, le point d’interrogation ouvre la requête et, de plus, les esperluettes séparent les paramètres.
En revanche, une valeur dans cette adresse a besoin du contraire. Une barre oblique dans un nom de produit est une donnée. Laissée brute, le serveur la lit comme un segment de chemin de plus.
Toute la distinction est là, et choisir la mauvaise est le bug le plus courant dans la gestion des URL. C’est précisément pourquoi l’encodage pourcentage a deux fonctions dans chaque langage.
Le problème du signe plus
Dans une chaîne de requête, un signe plus signifie une espace depuis les premiers formulaires HTML. En revanche, dans un chemin, il signifie un plus littéral.

Le même caractère se décode donc de deux façons selon sa place. C’est pourquoi un décodeur qui devine se trompe une fois sur deux.
L’interrupteur ici vous laisse le choix. Activez-le pour tout ce qui sort d’un formulaire et, au contraire, désactivez-le pour un chemin ou un fragment.
Le double encodage
Encodez deux fois et %20 devient %2520. Cela arrive quand un framework échappe une valeur qui portait déjà des échappements. Le signe révélateur est donc un pourcentage suivi de 25 dans vos journaux.
Ce qui n’a jamais besoin d’être encodé
Les lettres, les chiffres, le trait d’union, le point, le tiret bas et le tilde sont non réservés. C’est pourquoi ils traversent tout encodeur sans changement, quelle que soit la portée.

Cependant, tout le reste dépend de la position. Un deux-points est de la structure dans un schéma et une donnée dans un paramètre. De plus, l’arobase et la virgule se comportent de la même façon.
Dans le doute, encodez. Une valeur trop encodée fonctionne encore, tandis qu’une valeur pas assez encodée casse d’une façon qui n’apparaît qu’avec certaines entrées.
Où l’encodage déraille en pratique
Un champ de recherche est l’endroit habituel. Souvent, quelqu’un tape une phrase avec une esperluette. Ensuite, le code place cette phrase directement dans une chaîne de requête, et le serveur voit deux paramètres.

Les noms de fichier viennent en deuxième. Un nom avec une espace, un dièse ou un plus casse un lien de téléchargement sur certains serveurs et pas sur d’autres. C’est pourquoi le bug est difficile à reproduire.
Les paramètres de redirection viennent en troisième. Une adresse entière dans une autre voyage comme une seule valeur. Donc chaque barre oblique et chaque deux-points qu’elle contient doivent être échappés.
Les trois se corrigent de la même façon. Échappez la valeur, pas l’adresse, et laissez le constructeur d’URL assembler le reste.
Où l’encodage déraille en pratique
Un champ de recherche est l’endroit habituel. Quelqu’un tape une phrase avec une esperluette, le code la place directement dans une chaîne de requête et, par conséquent, le serveur voit deux paramètres.
Les noms de fichier viennent en deuxième. Un nom avec une espace, un dièse ou un plus casse un lien de téléchargement sur certains serveurs et pas sur d’autres, ce qui rend le bug difficile à reproduire.
Les paramètres de redirection viennent en troisième. Une adresse entière dans une autre doit voyager comme une seule valeur, donc chaque barre oblique et chaque deux-points qu’elle contient doivent être échappés.
Les trois se corrigent de la même façon. Échappez la valeur, pas l’adresse, et laissez le constructeur d’URL assembler le reste.
Où l’encodage déraille en pratique
Un champ de recherche est l’endroit habituel. Quelqu’un tape une phrase avec une esperluette, le code la place directement dans une chaîne de requête et, par conséquent, le serveur voit deux paramètres.
Les noms de fichier viennent en deuxième. Un nom avec une espace, un dièse ou un plus casse un lien de téléchargement sur certains serveurs et pas sur d’autres, ce qui rend le bug difficile à reproduire.
Les paramètres de redirection viennent en troisième. Une adresse entière dans une autre doit voyager comme une seule valeur, donc chaque barre oblique et chaque deux-points qu’elle contient doivent être échappés.
Les trois se corrigent de la même façon. Échappez la valeur, pas l’adresse, et laissez le constructeur d’URL assembler le reste.
Encoder n’est pas échapper pour le HTML
L’encodage pourcentage rend un texte sûr dans une adresse. En revanche, les entités HTML rendent un texte sûr dans un document. Utiliser l’un à la place de l’autre donne un lien qui a l’air correct et ne mène nulle part.
Sur cette page
- L’outil
- Pourquoi on encode en pourcentage
- L’encodeur et décodeur d’URL, étape par étape
- Ce qui distingue cet encodeur d’URL en ligne
- Des règles pour encoder les adresses
- Six erreurs d’encodage qui cassent les liens
- Les questions fréquentes sur l’encodage
- Des outils pour travailler les adresses
Continuer
L’encodeur et décodeur d’URL, étape par étape
Trois étapes, et la deuxième est la seule décision. Pendant ce temps, le résultat suit chaque frappe.
- 1
Collez votre texte
Une adresse, une valeur ou toute une liste. De plus, chaque ligne se convertit séparément, sauf si vous désactivez cet interrupteur.
- 2
Dites ce que c’est
Une adresse entière garde ses barres obliques et ses deux-points. En revanche, une valeur échappe tout, car tout ce qu’elle contient est une donnée.
- 3
Réglez l’interrupteur du plus
Activez-le pour tout ce qui vient d’un formulaire, où un plus signifie une espace. Laissez-le éteint pour un chemin, où un plus signifie un plus.
- 4
Vérifiez l’aller-retour
Appuyez sur Déplacer le résultat à gauche et convertissez de nouveau. Tout ce qui ne revient pas inchangé mérite un second regard.
Ce qui distingue cet encodeur d’URL en ligne
La plupart des convertisseurs offrent un bouton et espèrent. Ici, au contraire, les différences tiennent à l’interrupteur de portée, à celui du plus et à l’honnêteté face aux échecs.
Deux portées, expliquées en mots
Le menu demande ce qu’est votre texte au lieu de nommer deux fonctions JavaScript. C’est justement le choix sur lequel les gens se trompent.
Le signe plus, c’est vous qui décidez
Un plus signifie une espace dans une requête et un plus dans un chemin. Un interrupteur, et aucune devinette d’un côté comme de l’autre.
Ligne par ligne
Collez cent adresses et chacune se convertit séparément, donc une liste revient sous forme de liste et non d’une longue chaîne.
De vraies erreurs, pas le silence
Un signe pourcentage égaré rend le décodage impossible. L’outil le dit, au lieu de rendre l’entrée inchangée et de vous laisser croire que cela a marché.
Un aller-retour réversible
Échangez les panneaux et convertissez de nouveau. Si ce qui revient diffère de votre point de départ, quelque chose au milieu ne va pas.
Vos fichiers restent dans cet onglet
Les chaînes de requête contiennent des jetons, des e-mails et des numéros de commande. Comme chaque conversion se fait dans votre navigateur, rien de tout cela n’atteint un serveur.
Des règles pour encoder les adresses
La plupart des bugs d’URL viennent de quatre ou cinq habitudes. Ces huit règles les couvrent.
- Encodez des valeurs, pas des adresses. Construisez l’adresse par morceaux et échappez chaque valeur en l’ajoutant. Encoder la chaîne finie, c’est là que la structure se détruit.
- Utilisez l’objet URL dans le code. Chaque langage moderne en a un. Il gère l’échappement partie par partie, soit exactement le travail que vous alliez faire à la main.
- N’encodez jamais une valeur deux fois. Si une valeur arrive échappée, laissez-la. Cherchez
%25dans vos journaux, puisqu’il marque un signe pourcentage passé deux fois par l’encodeur. - Gardez le fragment hors des requêtes. La partie placée après le # ne quitte jamais le navigateur. Un serveur ne le voit jamais, donc l’encoder pour un serveur ne sert à rien.
- Surveillez l’esperluette. Une esperluette non échappée dans une valeur coupe un paramètre en deux. C’est la cause la plus courante d’une requête tronquée.
- Décodez seulement pour l’affichage. Montrez aux gens la forme lisible et gardez la forme échappée pour les liens et les requêtes. Stocker la version décodée invite à un double encodage plus tard.
- Souvenez-vous que le non-ASCII, ce sont des octets. Une lettre accentuée devient deux paires de pourcentage, un emoji quatre. C’est l’UTF-8, et une limite de longueur compte la forme échappée.
- Testez avec une valeur vraiment gênante. Un nom avec une apostrophe, une barre oblique et une espace trouve tous les bugs en dix secondes. Deviner quels caractères apparaîtront n’y arrive jamais.
Six erreurs d’encodage qui cassent les liens
Chacune produit un lien qui marche pour la plupart des entrées et échoue sur les plus intéressantes.
Encoder l’adresse entière comme une valeur
Chaque barre oblique et chaque deux-points deviennent un échappement, et le résultat est une chaîne qu’aucun navigateur n’ouvrira.
Laisser une valeur brute
Une barre oblique ou une esperluette à l’intérieur réécrit la forme de l’adresse, et le serveur lit quelque chose que vous n’avez jamais envoyé.
Le double encodage en chemin
Un framework échappe ce qu’un modèle a déjà échappé, et le lecteur voit des signes pourcentage au milieu d’un titre de page.
Supposer qu’un plus est toujours une espace
Dans un chemin, c’est un plus littéral. Un décodeur qui les remplace tous abîme des noms de fichier à la chaîne.
Encoder le dièse pour un serveur
Les fragments ne quittent jamais le navigateur. En échapper un pour une requête ne change rien, sauf la longueur de la chaîne.
Écrire soi-même la table d’échappement
Une chaîne de remplacements oublie toujours un caractère. Utilisez la fonction intégrée, qui suit le standard plutôt que le souvenir qu’en a quelqu’un.
Les questions fréquentes sur l’encodage
En quoi les deux portées diffèrent-elles ?
Une valeur échappe tous les caractères réservés, y compris les barres obliques et les esperluettes. En revanche, une adresse entière les laisse tranquilles, puisque ce sont eux qui lui donnent sa forme.
Pourquoi mon adresse ne marche-t-elle plus après l’encodage ?
Presque toujours à cause de la mauvaise portée. En effet, encoder un lien complet comme une seule valeur transforme ses barres obliques et deux-points en échappements, et rien ne peut ouvrir le résultat.
Cet encodeur d’URL en ligne gère-t-il les emojis ?
Oui. Un emoji devient quatre paires de pourcentage, car UTF-8 l’encode sur quatre octets. De plus, le décodage rend l’emoji exactement tel que vous l’avez tapé.
Que signifie %20 ?
Une espace. Le 20 est l’hexadécimal de 32, le code de caractère d’une espace, et de plus chaque échappement suit ce même schéma.
Faut-il utiliser %20 ou un plus pour les espaces ?
Utilisez %20 partout. Un plus fonctionne dans les chaînes de requête par convention, tandis que %20 est correct dans toutes les parties d’une adresse.
Pourquoi le décodage échoue-t-il parfois ?
Parce qu’un signe pourcentage apparaît sans deux chiffres hexadécimaux valides derrière. Ce n’est pas un échappement, donc le décodeur ne peut pas deviner ce qu’il devait être.
L’encodage pourcentage est-il une mesure de sécurité ?
Non. Il empêche que des caractères soient lus comme de la structure, ce qui évite une catégorie de bugs. Cependant, il ne fait rien pour ce que vous faites ensuite de la valeur.
Puis-je convertir toute une liste d’un coup ?
Oui. Laissez l’interrupteur des lignes activé et collez-en autant que vous voulez. Ainsi, chaque ligne se convertit séparément et revient sur sa propre ligne.
Pourquoi mon adresse s’allonge-t-elle à l’encodage ?
Parce que chaque caractère échappé en devient trois, et un caractère non ASCII six ou plus. C’est pourquoi cela compte quand un service limite la longueur d’un lien.
Pourquoi mon adresse s’allonge-t-elle à l’encodage ?
Parce que chaque caractère échappé en devient trois, et un caractère non ASCII six ou plus. C’est pourquoi cela compte quand un service limite la longueur d’un lien.
Pourquoi mon adresse s’allonge-t-elle à l’encodage ?
Parce que chaque caractère échappé en devient trois, et un caractère non ASCII six ou plus. C’est pourquoi cela compte quand un service limite la longueur d’un lien.
Ce que je colle ici est-il envoyé ?
Non. Votre navigateur fait la conversion dans cet onglet, donc les jetons et numéros de commande d’une chaîne de requête n’atteignent jamais ce site.
Des outils pour travailler les adresses
L’encodage est une étape. Ces trois outils couvrent celles d’avant et d’après.
Analyseur d’URL
Décomposez une adresse et étiquetez chaque partie.
Ouvrir l’outil →Générateur de liens UTM
Ajoutez des paramètres de campagne sans casser le lien.
Ouvrir l’outil →Encodeur et décodeur Base64
Un autre encodage, pour des octets plutôt que des adresses.
Ouvrir l’outil →
Prêt à convertir quelque chose ?
Collez votre texte, choisissez la portée et vérifiez l’aller-retour. L’encodeur et décodeur d’URL est gratuit, ne demande aucun compte et garde chaque caractère sur votre appareil.