URL Encoder & Decoder - Percent-Encoding Tool

Encode URL parameters and decode percent-escaped values without changing the structure of a full URL.

  • Aucune limite de longueur
  • Sans inscription
  • Gratuit pour toujours
  • Votre texte ne quitte jamais votre navigateur
Options
Résultat
Votre résultat apparaîtra ici dès que vous tapez.

Why URLs Need Encoding

URLs are built from reserved characters that have structural jobs — “?” starts the query string, “&” separates parameters, “=” joins a name to its value, “#” begins a fragment, and “/” divides path segments. When a parameter value contains one of those characters unescaped, the server reads it as structure rather than data: “?q=a&b=c” is parsed as two parameters even when the ampersand was meant to be part of the value. Percent-encoding fixes that by writing every unsafe byte as a “%” followed by two hexadecimal digits, so a space becomes %20 and a literal ampersand becomes %26.

Non-ASCII characters get the same treatment at the byte level: é, ñ, and emoji are encoded from their UTF-8 bytes into sequences such as %C3%A9. Decoding reverses the process, turning the percent-encoded triplets back into the original characters so the application receives the true value. Because the transformation works per character, this page can encode or decode a single query value, one path segment, or a whole string you want to inspect.

Spaces: %20 vs. +

Two conventions exist for spaces, and they are not interchangeable. Percent-encoding per the URL standard uses %20 — that is what encodeURIComponent() produces in JavaScript and what most modern APIs expect. HTML form data, sent as application/x-www-form-urlencoded, historically encodes a space as “+”, which is why query strings assembled by older forms can arrive with plus signs where spaces should be.

The split matters on decode. In a form-style value a “+” usually means a space; in a percent-encoded URI it is a literal plus sign. When the output looks wrong, check which convention the receiving endpoint expects and match it — %20 is the safer default for REST APIs and JavaScript clients, while “+” survives in legacy form handlers.

Questions fréquentes

Should I encode the whole URL or just the parameters?

Encode the individual parts, not the whole URL. The structural characters — the scheme separator, the “?”, “&”, and “=” that assemble the query string, and the “/” between path segments — must stay untouched or the address stops meaning the same thing to the server. Only the values traveling inside those parts need encoding: each query parameter value, and any path segment that may contain spaces, punctuation, or non-ASCII text. Encoding the entire URL turns the separators into %3A, %2F, and %3F, which many servers reject or route differently than the original address.

Votre texte ne quitte jamais votre navigateur

Chaque outil fonctionne localement sur votre appareil. Rien de ce que vous collez n’est envoyé, stocké ou suivi.