URL Encoder & Decoder
Percent-encode a URL or decode one back — see both the full-URL and single-component results side by side, so you always use the right one.
Result
How It Works
URLs can only contain a limited set of characters safely, so anything else — spaces, accented letters, symbols like & and ? — has to be percent-encoded: each unsafe byte becomes a % followed by two hexadecimal digits. A space becomes %20, an ampersand becomes %26, and the letter é becomes %C3%A9 because it takes two bytes in UTF-8.
There are two ways to encode, and mixing them up is the most common URL mistake. Encoding a component escapes everything that has a special meaning in a URL, including ?, &, = and / — use it for a single value, such as a search term you are placing inside a query string. Encoding a full URL leaves the structural characters alone and only escapes the genuinely unsafe ones — use it for a complete link.
Worked Example
Encode hello world & friends as a component and you get hello%20world%20%26%20friends. Encode the full URL https://example.com/search?q=hello world&lang=en and you get https://example.com/search?q=hello%20world&lang=en: only the space changes, because :, /, ?, = and & are part of the URL’s structure and must stay as they are. Decode hello%20world and you get hello world back.
How to Use This Tool
Paste your URL or text into the box and press Encode to see both encodings, or press Decode to reverse a percent-encoded string. Copy the component result for a query parameter, or the full-URL result for a complete, shareable link. If a string contains a broken escape sequence — a % followed by something that is not two hexadecimal digits — decoding shows a clear error instead of a wrong answer.
Tips and Practical Advice
- Encode values, not whole links, with the component mode. Encoding a full URL as a component turns its
?and&into%3Fand%26, which breaks the link. - Never double-encode. Encoding
%20again gives%2520, which decodes to the literal text%20instead of a space — a classic source of broken links. - Spaces in query strings are
%20, not+. The+shorthand only means a space inside form data; in a plain URL it is a literal plus sign.
Last updated: