%U
Developer/URL Encoder / Decoder

URL Encoder / Decoder

Encode or decode URLs with encodeURIComponent or encodeURI. 100% local.

100% LOCALRFC 39862 modesUnicode safeBrowser only
Saved Sessions· Auto-save on
▾
Input
Mode:
Output
Output will appear here
Data Source & Legal Disclaimer
Effective: 2026
Sources: Browser-side processing (no external API)

This tool runs 100% in your browser. All computation happens locally on your device — your input is never uploaded to any server. Results are for reference only.

See all data sources & update policy →
Comment ça marchePage 2

Why URLs escape special characters — illustrated

A URL is allowed to contain only a small safe alphabet (A–Z a–z 0–9 - _ . ~ plus a few reserved symbols). Anything else — spaces, &, /, ?, #, non-ASCII letters, emoji — would be misread as part of the URL structure. Encoding replaces them with % + two hex digits of their UTF-8 bytes; decoding reverses exactly that. encodeURIComponent escapes the widest set (good for a query value); encodeURI keeps structural punctuation like ? and # (good for a whole URL).

One character becomes three
encodeURIComponenta ba%20bencodeURI = same, but keeps ? # //?/?unchanged – structure kept你 → UTF-8 E4 BD A0 → %E4%BD%A0 (three escaped bytes)

A space is byte 0x20 → %20. The Chinese character 你 (U+4F60) is three UTF-8 bytes E4 BD A0 → %E4%BD%A0. Decoding walks the %XX triplets and reassembles the bytes.

A search query that survives copy-paste

You want to pass 'hello world' and a Chinese keyword in one URL query string.

  1. encodeURIComponent:hello%20world and %E4%BD%A0 — safe inside an &q= value even with & or = in the text
  2. Keep the separator:The & between params must stay literal, so you only escape each value, never the whole string
  3. The # trap:encodeURI leaves # intact → if your text has # it starts a fragment; that is why values use Component mode
  4. Round-trip:Decode restores the original bytes exactly — encode is always reversible
FAQ et détailsPage 3

Encode and decode URLs with encodeURIComponent and encodeURI modes. Everything runs locally; nothing is uploaded.

FreeToolHub URL Encoder / Decoder is a free browser-based tool — encode and decode URLs with encodeURIComponent and encodeURI modes. No signup, no upload; everything runs locally in your browser.

À propos de cet outil

Qu'est-ce que cet outil ?

Encodez et décodez des URL avec les modes encodeURIComponent et encodeURI. Support Unicode complet. 100 % basé sur le navigateur, gratuit, sans inscription.

RFC 39862 modesUnicode safeBrowser only

Qu'est-ce que l'Encodeur / Décodeur d'URL ?

Cet outil convertit du texte au format d'URL encodé en pourcentage et inversement, résolvant le problème selon lequel les URL ne peuvent contenir qu'un ensemble ASCII limité. Les espaces, les esperluettes, les dièses, les caractères CJK et les emoji ont tous des significations réservées ou illégales dans les URL et doivent être encodés sous forme de séquences %XX. Deux modes couvrent les deux cas réels : le mode encodeURIComponent encode tout, y compris & = ? /, pour une utilisation comme valeur de paramètre unique, et le mode encodeURI préserve les caractères de structure d'URL afin qu'une URL complète reste fonctionnelle. Le support Unicode complet signifie que les textes chinois, arabes et emoji s'encodent correctement en leurs séquences de pourcentages UTF-8.

Qui devrait utiliser cet outil ?

Les développeurs web construisent des chaînes de requêtes où l'entrée utilisateur contient des espaces ou des symboles qui casseraient autrement les limites des paramètres. Les marketeurs construisent des liens avec balises UTM contenant des noms de campagne avec des caractères non-ASCII et vérifient comment ils survivent dans les systèmes de messagerie. Les testeurs d'API encodent des valeurs de filtre dans des URL de requête et décodent des valeurs extraites des journaux serveur pour voir ce qui a réellement été envoyé. Les utilisateurs internationaux collant des termes de recherche CJK dans des outils qui s'attendent à une entrée encodée l'utilisent constamment. Les équipes de débogage décodent les URL encodées des rapports d'analyse pour lire la destination originale.

Comment ça fonctionne ?

(1) Collez votre texte ou URL. (2) Choisissez le mode : mode component (encodeURIComponent) pour une valeur de paramètre, mode full-URI (encodeURI) pour une URL complète où les barres obliques et les séparateurs de requête doivent être conservés. (3) Lisez la sortie encodée — les espaces deviennent %20 (ou + dans les contextes d'encodage de formulaire), le non-ASCII devient des séquences UTF-8 multi-octets, les caractères réservés deviennent leurs formes en pourcentage. (4) Le mode Decode inverse n'importe quelle chaîne encodée en pourcentage, gérant les séquences UTF-8 mélangées et la convention de forme + comme espace. Tout se convertit en direct et localement.

Quand utilise-t-on encodeURIComponent vs encodeURI ?

Les deux fonctions JavaScript correspondent aux deux philosophies d'encodage, et choisir la mauvaise casse les URL de différentes manières. encodeURIComponent est pour les valeurs individuelles : il échappe tout ce qui a une signification structurelle — & = ? / # — afin qu'une valeur comme a&b=c ne puisse pas injecter de faux paramètres. Utilisez-le chaque fois que l'entrée utilisateur devient un paramètre de requête. encodeURI est pour les URL déjà assemblées : il préserve les séparateurs qui font fonctionner l'URL tout en encodant les espaces et le non-ASCII. Utilisez-le pour désinfecter un lien complet pour l'affichage ou la transmission. Le bug classique est d'utiliser encodeURI sur une valeur de paramètre, laissant & et = intacts afin que les serveurs en aval divisent la valeur en paramètres fantômes ; le bug inverse transforme une URL complète en quelque chose d'inutilisable. Cet outil expose explicitement les deux modes afin que vous choisissiez toujours le bon.

Questions fréquentes

Quand ai-je réellement besoin d'encoder une URL ?

Chaque fois que du texte arbitraire voyage à l'intérieur d'une URL. Les caractères réservés ont des rôles dans la grammaire d'une URL — ? démarre une requête, & sépare les paramètres, # saute à un fragment — donc une valeur contenant ces caractères doit être encodée en pourcentage (par exemple, & devient %26) ou elle sera mal interprétée comme une structure. Encodez chaque valeur de paramètre de requête que vous construisez manuellement.

Quelle est la différence entre encodeURI et encodeURIComponent ?

L'étendue. encodeURIComponent échappe tout ce qui a un sens spécial, donc il est adapté pour une valeur de paramètre individuelle (un nom de ville, un terme de recherche). encodeURI préserve les caractères de structure d'URL (?, /, &, =) afin qu'une URL entière reste analysable — l'utiliser sur une valeur de paramètre laisse & et = non échappés et corrompt la chaîne de requête. Cet outil expose les deux modes afin que vous puissiez correspondre à la fonction JavaScript que votre code utilise.

Pourquoi les espaces deviennent-ils %20 dans certains endroits et + dans d'autres ?

Deux normes : la spécification de formulaire HTML encode les espaces comme +, tandis que l'encodage en pourcentage RFC 3986 utilise %20. Les navigateurs soumettent des formulaires avec +, mais les chaînes de requête que vous construisez vous-même devraient utiliser %20 — et un décodeur strict ne transformera pas + en espace. Si vos espaces se décodent mal, vous avez mélangé les deux conventions.

L'encodage d'URL est-il la même que l'échappement HTML ?

Non, et les confondre cause des bugs réels. L'encodage d'URL (encodage en pourcentage) rend le texte sûr pour voyager à l'intérieur d'une URL ; l'échappement HTML (< & ...) rend le texte sûr pour s'afficher à l'intérieur d'un document HTML. Une valeur qui va dans un paramètre de requête a besoin d'un encodage d'URL en premier — l'échapper en HTML enverrait des littéraux "amp;" au serveur.

L'encodage d'URL affecte-t-il le SEO ou le comportement de redirection ?

Les caractères encodés en URL sont décodés par le serveur avant traitement, donc l'encodage ne change pas la page de destination. Cependant, un encodage excessif dans les URL visibles peut être perçu comme du spam par les moteurs de recherche. Meilleure pratique : n'encodez que les caractères spéciaux dans les paramètres de requête, pas dans la structure de chemin. Utilisez des traits d'union pour la séparation des mots dans les chemins d'URL.

What is the difference between encodeURIComponent and encodeURI?

encodeURIComponent encodes all special characters including : / ? # [ ] @, making it suitable for encoding individual query parameter values. encodeURI preserves URL structural characters, making it suitable for encoding an entire URL. This tool supports both modes—use encodeURIComponent for parameter values, encodeURI for full URLs.

Does URL encoding affect SEO or redirect behavior?

URL-encoded characters are decoded by the server before processing, so encoding does not change the destination page. However, excessive encoding in visible URLs can look spammy to search engines. Best practice: encode only special characters in query parameters, not in the path structure. Use hyphens for word separation in URL paths.

Outils connexes

Partager :𝕏inf⬆
Joke of the Day
Oct 22

What do you call a really smart cookie?

Free core, no account

Keep the Free Edition Free

No signups, no data sold. Every tool is free to use — the free tier allows 5 downloads or saves per day, and the optional Pro plan ($7/mo, $59/yr) adds unlimited downloads, batch processing, white-label exports and an ad-free experience.

☕Support me on Ko-fi— support the free tier

100% of proceeds go towards hosting & building more free tools.