TEXT & DEVELOPER TOOLS
URL Encode / Decode
Percent-encode text for use in a URL, decode an encoded string, or split a web address into its parts.
Quick answer: Paste the text, choose URL encode, URL decode, whole-address encode or “Break a URL into parts”, run it and copy the result.
Use URL Encode / Decode ↓Loading the tool…
How to use URL Encode / Decode
- Paste your text or addressThe operation starts as URL encode (component). Change it in the operation menu for decoding or other modes.
- Choose the right encoderUse “URL encode (component)” for a single value such as a query parameter. Use “URL encode (whole address)” for a full address whose structure should stay intact.
- Run and read the resultThe encoded or decoded text appears in the result box.
- Break a URL into parts (optional)Choose “Break a URL into parts” to see the protocol, host, path, query parameters and fragment listed separately.
About this tool
Spaces, ampersands, accented letters and symbols cannot appear in a URL as they are. They are written as percent codes such as %20. Encoding the wrong thing the wrong way is a common cause of broken links, failed redirects and API calls that silently return nothing. This page encodes and decodes in your browser and can also pull an address apart so you can see exactly what it contains.
Practical example: Encode the value “café & crème” as a component and append it to a query string.
Important limitation: Encoding rules differ slightly between systems. Check how your target system expects spaces and reserved characters to appear.
Encoding and decoding run in this browser tab. Nothing is uploaded. Read the privacy information.
How it works
The tool uses the browser’s standard URL encoding functions to convert characters to UTF-8 percent codes and back.
Real-world uses
- Building query strings and API requests
- Reading encoded links and tracking URLs
- Debugging redirects and broken links
Component or whole address? The mistake that breaks links
There are two kinds of URL encoding, and mixing them up causes most problems. Encoding a component, such as a search term or a parameter value, converts almost every special character, including slashes, question marks and ampersands. Encoding a whole address leaves those structural characters alone, so that the address still works as an address.
If you encode a complete address as a component, the slashes and colons are also converted and the result is no longer a usable link. If you encode a value with the whole-address option, an ampersand inside the value is left alone and splits your parameter in two. When building query strings, encode each value as a component and then join them with ampersands.
Spaces appear as %20 in percent encoding. In form submissions, a plus sign can also stand for a space, which is why decoded data sometimes shows plus signs. Non-English characters are encoded as UTF-8 bytes, so “é” becomes %C3%A9. Decoding reverses that, and fails if the string contains a stray percent sign that is not followed by two hexadecimal digits.
The “Break a URL into parts” mode is useful for debugging tracking links and redirects. It lists the protocol, host, port, path, query and fragment, and puts each query parameter on its own line, decoded. Double-encoded values, such as %2520, show up quickly when you decode twice.
Tips for better results
- Encode values, then join them, not the other way round.
- Decode twice only if the value was double-encoded.
- Use the parts view to inspect long tracking links.
Frequently asked questions
What is the difference between encoding a component and a whole address?
A component is a single value, so all special characters are encoded. A whole address keeps characters such as slashes, colons, question marks and ampersands so the link still works.
Why does my decoded text contain plus signs?
Form encoding writes spaces as plus signs. Replace them with spaces where appropriate.
What does %20 mean?
It is a space written in percent encoding.
Is my data uploaded?
No. Encoding and decoding happen in this browser tab.