How to use the URL encoder and decoder
Pick Encode component to safely put text inside a URL, for example a search term or a value in a query string. Pick Encode full URL when you have a complete address that contains spaces or non-English characters and you want it to stay a working link. Pick Decode to turn %20-style sequences back into readable text. The result updates as you type.
Below that, the URL parser splits an address into its parts. Every field can be edited. Query parameter values are shown decoded, so you can type them normally, and the rebuilt URL encodes them for you.
Example
Encoding the component Juan dela Cruz & Co./Manila gives Juan%20dela%20Cruz%20%26%20Co.%2FManila. With form encoding on it gives Juan+dela+Cruz+%26+Co.%2FManila. The & and / are encoded because otherwise they would start a new parameter or a new path segment.
Parsing https://shop.example.ph:8443/search?q=sapatos%20pambata&page=2#results shows protocol https:, host shop.example.ph, port 8443, path /search, two parameters (q = sapatos pambata and page = 2) and hash results.
Frequently asked questions
What is the difference between encodeURIComponent and encodeURI?
encodeURIComponent is for one piece of a URL, such as a single query value or path segment. It encodes everything that has a special meaning in URLs, including / ? & = and #. encodeURI is for a whole URL that is already put together: it keeps those characters so the URL still works, and only encodes spaces, non-English letters and other characters that are never allowed. If in doubt, use encodeURIComponent on each value before joining them.
Should a space be %20 or +?
Both are common. In the path of a URL a space must be %20. In the query string, HTML forms send spaces as + (this is called application/x-www-form-urlencoded), and most servers read + as a space there. Tick "Form encoding" to produce + or to decode + back to a space. Outside of form data, a + means a literal plus sign, so leave it unticked when decoding other text.
Why do I get a "malformed" error when decoding?
A % sign must be followed by two hexadecimal digits, and the bytes they form must be valid UTF-8. Text like "100%" or "%E0%A4" (half of a character) cannot be decoded. The error message shows where the problem is. If your text contains a real % sign, it should have been encoded as %25.
Is anything I paste sent to a server?
No. Encoding, decoding and URL parsing use your browser's built-in functions, so URLs with private tokens or customer data never leave your device.
Can I edit the query parameters and get a new URL?
Yes. Paste a URL in the parser, change any part, edit a parameter value (type it normally, without encoding), add or remove parameters, and the rebuilt URL updates as you type with everything correctly encoded.