URL Encode / Decode
Percent-encode non-ASCII text and special characters in a URL, or decode them back. Nothing you enter is sent to a server.
Input
Result
Your result will appear here
Run the conversion to copy the result or convert it back.
User reviews
No reviews yet. If you’ve used this tool, be the first to leave one.
URL Encode / Decode: complete guide
Walk through the steps and examples, or jump straight to the topic you need.
At a glance
- Conversion
- Provides URL encoding and decoding of text. It does not connect to the address you enter.
- Default mode
- Converts a single URL component, such as a search term or query value.
- Full URL
- With Full URL conversion on, address separators like / ? & = are kept.
- Input
- Up to 100,000 characters. UTF-8 text files up to 512KB.
- Space handling
- When encoding, a space becomes %20. It does not do form decoding that turns + into a space automatically.
How to use URL Encode / Decode
Decide what to convert
First tell apart whether you're putting one search term into an address or converting a whole address. For putting in a single value, the default mode fits. In a full address, you may need to keep the separators that divide its structure.
Choose the text and the direction
To turn non-ASCII characters or special characters into codes, choose Encode; to turn byte notation starting with % back, choose Decode. Checking whether the input is already encoded reduces unnecessary double conversion.
Run it and compare the original with the result
Press the convert button or ⌘/Ctrl+Enter. If you turned on the Full URL option, check that the address separators remain; in the default mode, check that characters like & and = inside the value were converted.
Put only the result where you need it
Copy the result and put it into the address or setting you're using. This tool does not check whether the URL actually opens. Check the target location so you don't confuse a value for the whole address with a single query value.
What it’s good for
URL component vs full address
To convert a single search term or query value, use the default Component mode. To convert a finished address, choose Full URL mode, which keeps separators like / ? & =. Choosing the mode that fits your purpose reduces mixing up query values with address structure.
Decoding non-English URLs and handling spaces
Decoding percent-encoded text such as Korean, Japanese or accented letters shows the original UTF-8 text. When encoding, a space becomes %20. This is not a form-style decoder that turns + into a space, so when pasting form data or part of an address, check which encoding method the original used.
Worked examples
Encoding a single search term
café menucaf%C3%A9%20menuConverting a value that includes address separators
https://example.com/?q=a b&n=1https://example.com/?q=a%20b&n=1Full URL vs Component
Swipe the table sideways to see the rest.
| Mode | Suitable input | Separator handling |
|---|---|---|
| Component | One search term, file name or query value | Encodes / ? & = and so on as part of the value. |
| Full URL | A finished address starting with https:// | Keeps the reserved separators used for address structure. |
| Decode | A percent-encoded UTF-8 string | In Full URL mode, notation of some reserved characters may be kept. |
When the result isn’t what you expected
Decoding fails
Two hexadecimal digits after % may be missing or part of a UTF-8 byte sequence may be cut off. Copy the original again and compare. Addresses made with a different character encoding may not be readable by this UTF-8 conversion.
%25 keeps appearing
Encoding an already encoded value again turns the % itself into %25. Check the conversion direction and convert once, starting from the original text. Whether decoding several times is acceptable depends on the rules of the system that uses the value.
+ doesn't turn into a space
URL encoding and HTML form space notation follow different rules. This tool leaves + as a literal character. If you're handling form data, first check whether the original really had a plus sign.
Key terms
- Percent encoding
- A way of expressing bytes as % followed by two hexadecimal digits.
- Query value
- The value paired with a parameter name after the ? in an address.
- Double encoding
- A state where encoding was applied again to an already encoded value.
URL Encode / Decode FAQ
Why do I get an error when decoding?
An error occurs when a % isn't followed by a two-digit hexadecimal code or when the UTF-8 byte sequence is invalid. Check whether part of it was cut off while copying.
Can I encode an already encoded address again?
Encoding an already encoded value again can double-encode it, for example turning % into %25. Check the original text and the conversion direction first.
Does entering an address connect to that site?
This tool only converts strings; it does not connect to the address you enter or fetch the page's content.
Does it turn an internationalized domain name into an ASCII address?
This tool handles percent encoding of URL strings. It does not provide a dedicated feature to convert internationalized domain names to Punycode.
If a decoded result looks like a script, does it run?
The result is shown as text. It does not connect to the address you enter or run the result as HTML or script.