Encodeur d'URL

Encodez du texte en pourcentage pour qu'il circule sans risque dans une URL, entièrement dans votre navigateur.

Fonctionne entièrement dans votre navigateur. Rien n'est envoyé, journalisé ni conservé.

Une URL a une grammaire, et les caractères qui lui appartiennent — « ? », « & », « / », « # », les espaces — doivent être échappés lorsqu'ils font partie d'une valeur plutôt que de la structure. Cet échappement, c'est l'encodage pourcent.

Comment ça marche

Tout caractère hors de l'ensemble non réservé de la RFC 3986 — lettres, chiffres, « - », « . », « _ » et « ~ » — est remplacé par un signe pourcent suivi de la valeur hexadécimale de chacun de ses octets UTF-8. Un espace devient %20 et une lettre accentuée devient deux échappements, car elle fait deux octets en UTF-8.

Le style « données de formulaire » existe parce que l'envoi des formulaires HTML précède cette règle : l'espace y devient « + » et « ~ » est échappé également. Choisissez-le pour construire un corps application/x-www-form-urlencoded, et le style composant pour tout le reste.

Exemples

Cas Saisie Résultat
Une expression de recherche placée dans une chaîne de requête coffee & cake coffee%20%26%20cake
La même expression en données de formulaire coffee & cake coffee+%26+cake

Questions fréquentes

Dois-je encoder une URL entière avec cet outil ?

Non. Encoder une URL complète échappe aussi le « :// » et les séparateurs, et vous laisse une chaîne qu'aucun client ne peut suivre. Encodez les valeurs une par une, puis assemblez l'URL à partir d'elles.

Pourquoi « ! » est-il encodé ici alors que la console de mon navigateur le laisse tel quel ?

La fonction encodeURIComponent de JavaScript ignore délibérément les caractères ! ' ( ) et * bien que la RFC 3986 les réserve. Les encoder est toujours accepté et évite les surprises avec les analyseurs plus stricts : cet outil les encode donc.

Et le « # » d'un fragment ?

Un « # » littéral à l'intérieur d'une valeur doit être encodé en %23, sans quoi tout ce qui suit est lu comme le fragment et n'atteint jamais le serveur.

Bon à savoir

  • Tout se passe dans votre navigateur. Ce que vous collez n'est ni envoyé, ni journalisé, ni conservé.

Sources

Tous les outils Code