URL Encode / Decode
A URL may only contain a limited alphabet, so spaces, ampersands, question marks and non-ASCII text must be percent-encoded before they can travel inside one. This tool handles both jobs — encoding text for safe transport and decoding strings back into readable form — and it offers the two modes that are constantly confused with each other.
How to use it
- Paste the text to encode, or the encoded string to decode.
- Leave the "full URI" box unchecked for a single parameter value, or check it for a whole address.
- Press Encode or Decode and copy the output.
Key facts
- Component mode uses encodeURIComponent semantics; full-URI mode uses encodeURI semantics.
- A space becomes %20. The + you sometimes see for spaces is an HTML form convention, not percent-encoding.
- A % that is not followed by two hex digits makes the input malformed — decoding stops with an error instead of inventing characters.
About this tool
A URL may only contain a limited alphabet, so spaces, ampersands, question marks and non-ASCII text must be percent-encoded before they can travel inside one. This tool handles both jobs — encoding text for safe transport and decoding strings back into readable form — and it offers the two modes that are constantly confused with each other.
Component mode escapes the structural characters (&, =, ?, /) so a single value cannot break out of its query parameter; full-URI mode leaves the structure of a whole address intact and escapes only what is illegal anywhere in a URL. Malformed percent sequences are flagged rather than guessed at.
Like every TextKit tool, the URL Encode / Decode runs entirely on your device. There is no account, no upload and no record of the content you process — close the tab and everything is gone.
Frequently asked questions
When should I use component mode versus full URI mode?
Encoding one value that will sit inside a query string or path segment: component mode, so an & or = inside the value cannot split parameters. Encoding a complete URL: full URI mode, so the ://, / and ? that give it structure survive.
Why do I see + instead of %20 in some query strings?
HTML form submissions encode spaces as + under the application/x-www-form-urlencoded rules. %20 is the plain percent-encoding and is safe in every part of a URL.
Why does decoding fail on my string?
Almost always a stray % — copied from a price, a percentage or truncated text — or a sequence cut short. The tool reports malformed input instead of returning corrupted text.
Related tools
Base64 Encode / Decode
Encode text to Base64 or decode it back, with full Unicode support.
~/tool/hash-generatorHash Generator (SHA)
Compute SHA-1, SHA-256 and SHA-512 digests of any text, instantly.
~/tool/json-formatterJSON Formatter & Validator
Pretty-print, minify and validate JSON, with the exact error location when it breaks.