Encode a single value so that & and = inside it cannot break your query string, or encode a whole URL while leaving its structure (: / ? & =) untouched.
Developer
URL Encoder / Decoder
Percent-encode text so it is safe in a web address, or decode %20-style codes back into readable text. Paste a full URL to see it split into its parts.
Paste a URL or some text and choose Encode, or paste something with %20-style codes and choose Decode.
Encode, decode, and understand any URL.
Web addresses can only contain a limited set of characters. Percent-encoding swaps everything else for a % and two hex digits, and this tool does that in either direction.
Paste a full address and see the protocol, host, port, path, each query parameter (already decoded), and the fragment on separate lines.
A stray % that is not followed by two hex digits is explained in plain English instead of failing silently.
Frequently asked questions
What is the difference between encoding a value and a whole URL?
Encoding a value escapes every reserved character, including : / ? & = and #, which is what you want for one query parameter. Encoding a whole URL leaves those characters alone so the address still works.
Why do spaces become %20 or +?
In a path, a space is written as %20. In HTML form data, a space can also be written as +. Turn on Treat + as a space when decoding form-style query strings.
Is percent-encoding a form of encryption?
No. It only makes text safe to put in a URL. Anyone can decode it, so it does not hide anything.
Why does decoding say my text is not valid?
A % must be followed by exactly two hexadecimal digits, like %2F. Text such as 100% sure has a stray % and cannot be decoded as it stands.
