URL Encoder and Decoder
Percent-encode and decode, with separate modes for a parameter value and a whole URL, plus a breakdown that decodes each query parameter.
Runs in your browser: input and output are never sent to the server, and the platform does not store your input.
Output
Fill in the fields on the left, then run.
How to use
- 1Paste the text or URL you want to process.
- 2Pick a mode: “parameter value” for something going into a query parameter, “whole URL” for a complete address.
- 3When a long URL is unreadable, use “Break a URL into its parts”.
FAQ
What is the difference between the two encode modes?
encodeURIComponent also encodes : / ? # & =, which is right for a parameter value. encodeURI keeps those characters as structure, which is right for a whole URL. Using the wrong one either breaks the URL or truncates a parameter.
Why does decoding fail?
Percent-encoding must be % followed by two hex digits. A lone % or a truncated %E4 is not valid, so decoding reports an error rather than guessing.
Why was my + not turned into a space?
+ meaning space is an HTML form rule (application/x-www-form-urlencoded), not part of the URL standard. encodeURIComponent leaves it alone; replace it yourself if you need to.
Do non-ASCII URLs have to be encoded?
The address bar shows them unencoded, but the request still sends percent-encoded bytes. Use the encoded form in code, config files and API parameters.
Is my input uploaded?
No. Encoding, decoding and the breakdown all run in your browser; no sign-in and no quota.
