This free url encoder decoder makes web addresses safe to share and easy to read again. It converts special characters in a URL into their percent-encoded form, and decodes percent-encoded text back into normal characters — instantly, in your browser, with no uploads.
How to use the URL encoder and decoder
- Paste the URL or text you want to convert into the input box.
- Click Encode if the text will go inside a web address, link, or query parameter.
- Or click Decode if you received an encoded link full of `%20`-style codes and want to read it.
- Review the result — encoded text replaces unsafe characters with `%` codes; decoded text should look like normal words again.
- Click copy and paste the result into your browser, code, email, or document.
- Convert as many links as you like — there is no daily limit.
What is URL encoding and why is it needed?
A URL can only safely contain a limited set of characters: letters, digits, and a few symbols like `-`, `_`, `.` and `/`. Real-world text breaks those rules all the time. A search for “red shoes & socks” contains a space and an ampersand — and the ampersand already has a job inside a URL (it separates parameters), so leaving it raw corrupts the link. URL encoding (also called percent-encoding) solves this by replacing each unsafe character with a `%` followed by its two-digit code. A space becomes `%20`, `&` becomes `%26`, `?` becomes `%3F`, and text in scripts like Urdu or Arabic is encoded byte by byte into `%` sequences. Browsers do this automatically behind the scenes, but when you build links by hand — in code, spreadsheets, redirects, or tracking parameters — you must encode correctly yourself.
When to encode and when to decode a URL
Encode when you are putting user text into a link: a search term passed to another page, a product name inside a share link, a return address inside a login URL, or any value containing spaces, `&`, `#`, `+` or non-English characters. Encoding guarantees the receiving server reads the value as one piece of data instead of mistaking parts of it for URL structure.
Decode when a link looks like alphabet soup. Analytics reports, copied tracking links, and API responses often show values like `hello%20world%26friends`. Decoding turns them back into `hello world&friends`, so you can read, debug, and share them sensibly. Decoding is also the quickest way to check what a suspicious link really says before you open or forward it.
URL encoding examples
- `my file name.pdf` encodes to `my%20file%20name.pdf`
- `price=100&offer=50%` — the percent sign itself must be encoded as `%25` when it is data, giving `price%3D100%26offer%3D50%25` for a full value.
- `café` encodes to `caf%C3%A9` because the `é` is stored as two encoded bytes.
A useful rule: if a character has a meaning in URLs (`?`, `&`, `=`, `#`, `/`, `:`), and you want it treated as plain text inside a value, encode it. If it is part of the address structure itself, leave it alone — which is why this tool focuses on values and full pasted text rather than guessing which parts of your address are structure.
Frequently asked questions about URL encoding
What is the difference between encodeURI and encodeURIComponent?
In JavaScript, `encodeURI` encodes a full address but leaves structural characters like `/`, `?` and `&` untouched. `encodeURIComponent` encodes everything unsafe, including those, so it is the right choice for a single value going inside a URL. This tool follows the component approach for values.
Why does my link break when it contains a plus sign or a hash?
In a query string, `+` is read as a space and `#` starts the fragment (the part the server never sees). Encoding them as `%2B` and `%23` keeps them as data inside your value instead of URL instructions.
Is URL encoding the same as encryption?
No. Like Base64, percent-encoding is a transport format, not security. Anyone can decode a URL with this tool. Never hide passwords or private tokens in a URL expecting encoding to protect them.
Can I decode a full URL without breaking it?
Yes — decode only the encoded values if the link must keep working. If you simply want to read the link, decoding the whole pasted text here is safe because you are only viewing the result, not changing the live address.
Pair this with our Base64 Encode / Decode for API work, the Slug Generator for clean, already-safe page addresses, and the JSON Formatter & Validator when the link returns JSON data. Browse all utilities on the All Tools page or visit the KhiyaleeGFX homepage.

