URL Encoder and Decoder
Percent-encode or decode URLs and query values, one per line.
About this tool
Paste URLs or values, one per line, and encode or decode them.
Two encodings exist and they are not interchangeable. RFC 3986 (rawurlencode) turns a space into %20 and is correct inside a path. The older form encoding turns a space into +, which is only correct inside a query string — a + in a path is a literal plus character. Pick the one that matches where the value is going.
Common questions
Why does my space become + instead of %20?
Because form encoding was used rather than RFC 3986. A + means "space" only inside a query string. In a path it is a literal plus, so /my+page and /my%20page are different URLs.
Should I encode the whole URL?
No. Encoding a whole URL turns its slashes and colon into %2F and %3A, which makes it unusable. Encode the individual values you are inserting into it.
Why does decoding sometimes change nothing?
Because the value was not encoded to begin with. Decoding is safe to run on plain text — it only replaces valid percent sequences.
Is double-encoding a problem?
Yes, and it is common. %2520 is an encoded %20, which decodes to a literal "%20" rather than a space. If a URL contains %25 followed by two hex digits, it has probably been encoded twice.