⭐ Mes favoris

Aucun favori pour l'instant.
Cliquez ☆ sur une carte pour l'épingler.

🔗 Encodeur / Decodeur URL

Encodez et decodez vos URLs et parametres.

Texte / URL original
Resultat

Percent-encoding

L'encodage URL (percent-encoding) remplace les caracteres speciaux par %XX. Les espaces deviennent %20, les accents sont encodes, etc. C'est indispensable pour les parametres de requete, les redirections et les APIs.

Tout savoir sur l'encodage d'URL en 2026

Percent-encoding, caractères réservés, encodeURIComponent vs encodeURI, et les pièges qui cassent vos liens.

1. Pourquoi faut-il encoder une URL ?

Une URL ne peut contenir qu'un jeu de caractères très restreint, défini par la norme RFC 3986 : les lettres non accentuées, les chiffres et quelques symboles (- _ . ~). Tout le reste — espaces, accents, esperluettes, signes de ponctuation, émojis — doit être encodé pour être transmis sans ambiguïté. L'encodage URL, aussi appelé percent-encoding, remplace chaque caractère problématique par un % suivi de son code hexadécimal. Un espace devient %20, le caractère é devient %C3%A9 en UTF-8.

Sans cet encodage, un espace ou une esperluette dans un paramètre serait interprété comme la fin de la valeur, voire comme un nouveau paramètre, et votre lien arriverait tronqué ou faux côté serveur.

2. Caractères réservés vs caractères autorisés

La RFC 3986 distingue deux familles. Les caractères réservés ont un rôle structurel dans l'URL et doivent être encodés s'ils apparaissent dans une valeur :

CaractèreRôleEncodé
espaceséparateur%20
&sépare les paramètres%26
=clé = valeur%3D
?début de la query string%3F
#ancre / fragment%23
/séparateur de chemin%2F

Les caractères non réservés (lettres, chiffres, - _ . ~) ne sont jamais encodés : c'est inutile et certains serveurs les décodent de toute façon.

3. encodeURIComponent ou encodeURI : lequel choisir ?

C'est la confusion la plus fréquente côté développeur. Les deux fonctions JavaScript n'encodent pas la même chose :

  • encodeURIComponent encode tout, y compris / ? & = #. À utiliser pour une valeur de paramètre : le nom d'un client, un terme de recherche, un token.
  • encodeURI préserve la structure de l'URL : il n'encode pas / ? & =. À utiliser pour encoder une URL complète déjà construite, par exemple pour corriger des espaces.

Règle simple : si vous encodez un bout que vous allez ensuite coller dans une URL, prenez encodeURIComponent. L'outil ci-dessus utilise encodeURIComponent par défaut, le bon choix dans 90 % des cas.

4. Cas d'usage concrets

  • Paramètres de recherche : ?q=café crème doit devenir ?q=caf%C3%A9%20cr%C3%A8me pour ne pas casser.
  • Appels d'API REST : un identifiant contenant un / ou un + doit être encodé sous peine de 404.
  • Liens mailto : le sujet et le corps d'un mailto: doivent être encodés, un saut de ligne devient %0A.
  • Redirections OAuth : le paramètre redirect_uri est systématiquement percent-encodé.

Pour d'autres conversions, voyez nos outils Base64 et formateur JSON.

Questions fréquentes

Quelle différence entre %20 et + pour encoder un espace ?

Les deux existent mais dans des contextes différents. %20 est l'encodage universel valable partout dans une URL. Le + ne représente un espace que dans la query string d'un formulaire encodé en application/x-www-form-urlencoded. Dans un chemin d'URL, un + reste un vrai signe plus. En cas de doute, utilisez toujours %20 : il fonctionne partout.

Faut-il encoder les accents et les émojis ?

Oui. Les caractères accentués (é, à, ç…) et les émojis ne font pas partie de l'ASCII autorisé dans une URL. Ils sont d'abord convertis en octets UTF-8, puis chaque octet est percent-encodé. Le é devient ainsi %C3%A9. Les navigateurs affichent souvent l'accent en clair dans la barre d'adresse, mais transmettent bien la version encodée.

Pourquoi mon URL est-elle cassée après encodage ?

Le piège classique est le double encodage : encoder une URL déjà encodée transforme %20 en %2520. Vérifiez que vous n'appliquez l'encodage qu'une seule fois. L'autre cause fréquente est d'avoir utilisé encodeURIComponent sur une URL complète, ce qui encode les / et : de la structure. Utilisez le bouton « Décoder » de l'outil pour inspecter ce que contient réellement votre chaîne.

L'encodage URL protège-t-il ou chiffre-t-il les données ?

Non, et c'est une confusion dangereuse. Le percent-encoding est une simple transformation réversible de présentation, pas du chiffrement : n'importe qui peut décoder %C3%A9 en é instantanément. Pour protéger une donnée sensible, il faut du vrai chiffrement (voyez notre outil chiffrement) et une transmission en HTTPS.

Copié !