URL decoder, URL encoder and query string parser
Paste a URL or text with %XX escapes to decode it, or type text to percent-encode it. The URL is split into its parts and query parameters.
How it works
Paste or open
Paste an encoded URL or text, open a text file or load one from a URL. Choose Decode or Encode.
Pick the rules
Decide whether + means a space, encode a value with encodeURIComponent or a whole address with encodeURI, and process each line separately if you have a list.
Copy the result
Copy or download the output. For a URL, read its host, path and parameters in the table and copy the parameters as JSON.
Features
Lenient URL decode
Every %XX sequence is decoded as UTF-8. Broken sequences such as %G1, a lone % or a cut-off character are kept as written and listed, where decodeURIComponent would stop with an error.
Two encoders
Component mode escapes everything except letters, digits and - _ . ! ~ * ( ) — right for query values. Full URL mode keeps : / ? # & = so an address stays usable.
Form encoding
Decode + as a space and encode spaces as +, as HTML forms and many query strings do (application/x-www-form-urlencoded).
URL parts and parameters
Protocol, user, host, port, path, query and fragment are shown separately. Query parameters keep their order and duplicates, and values are shown decoded. OAuth-style parameters after # are listed too.
Line by line
Decode or encode a list of values at once; each line is handled on its own and line breaks are kept.
Limits & privacy
Text and files can be up to 5 MB. The URL parts table is shown for a single-line URL or query string up to 64 KB; for lists, turn on Each line separately.
Parsing follows the WHATWG URL standard used by browsers, so hosts are shown in their ASCII (punycode) form and default ports are omitted. Decoding never changes your input; only the output is decoded. See the privacy page.
FAQ
How do I decode a URL?
Paste it into the input with Decode selected. %20 becomes a space, %C3%A9 becomes é, and so on. The decoded text appears on the right.
What is the difference between encodeURI and encodeURIComponent?
encodeURIComponent escapes reserved characters such as / ? & = and is meant for a single value. encodeURI leaves them alone and is meant for a complete URL.
Should + be decoded as a space?
In query strings and form data, yes. In a path, + is a literal plus sign. Turn Decode + as space off when you decode a path or other text.
Why do I get a URIError: malformed URI sequence elsewhere?
The text contains a % that is not followed by two hex digits, or bytes that are not valid UTF-8. This tool decodes everything else and lists the problem sequences.
How do I see the parameters of a long URL?
Paste the URL. The Query parameters table lists every key and its decoded value, including repeated keys. Copy parameters as JSON gives you an object to reuse.
Is my URL sent anywhere?
No. Decoding, encoding and parsing run in your browser; the address is never requested or uploaded.