No recently used tools
No favorite tools yet

Free URL Encoder Decoder Online - Percent Encoding Tool

1.2K uses

Common URL Encoding Reference

CharacterEncodedDescription
Space%20 / +Most common URL escape character
!%21Exclamation mark
#%23Hash, URL anchor symbol
%%25Percent sign (must be escaped)
&%26URL parameter separator
=%3DURL parameter assignment
?%3FQuery string start
/%2FPath separator

URL Encoding Facts

What is URL Encoding?
URL encoding converts special characters to %XX format, ensuring URLs transmit safely across the web without being misinterpreted.
Unicode in URLs
Non-ASCII characters (accented letters, CJK, emoji) are converted to UTF-8 bytes then percent-encoded, e.g. ä becomes %C3%A4.
encodeURIComponent
Encodes all special characters including : / ? # — ideal for URL parameter values.
encodeURI
Preserves URL structure characters (://?#@) — use this for encoding a complete URL while keeping its structure intact.
URL-Safe Characters
Letters A-Z, a-z, digits 0-9, and -_.~ are URL-safe and never need encoding.
Space Encoding
Spaces can be encoded as %20 or + in URLs. %20 is standard for paths; + is used in form submissions. Modern practice prefers %20.

Frequently Asked Questions

Q Is there a difference between URL encoding and HTML entity encoding?
A Yes, they're completely different systems. URL encoding turns spaces into %20, while HTML entity encoding uses   or   for spaces. Mixing them up breaks links and displays raw codes on pages. Use this tool for URL encoding only. If you're debugging JSON API responses and see & instead of &, that's HTML encoding leaking in, not a URL problem.
Q Can I decode a URL that's been encoded twice by mistake?
A Double-encoding happens when someone encodes an already percent-encoded string. You'll see stuff like %2520 instead of %20. Run it through the decoder once, check if the result still has percent signs, then decode again if needed. Three passes is almost never necessary. If you're debugging a payment gateway callback that looks garbled, this is usually the culprit.
Q Does URL encoding encrypt my data so it's safe to share?
A No, not at all. URL encoding is just about formatting — it turns spaces into %20 and special characters into percent codes. Anyone can decode it instantly with this same tool. Think of it like wrapping a sandwich in clear plastic: it's neat but totally see-through. If you're sharing sensitive info like passwords or API keys in URLs, use real encryption (HTTPS covers transport) or hash them instead. Encoding alone offers zero privacy.
Q Why does my email newsletter links break when I copy them from the editor?
A Email editors often auto-encode spaces and special characters, but inconsistently. Your link might have a raw space that looks fine in the editor but turns into %20 only after sending — or worse, gets truncated at the first space. Paste your newsletter link into this decoder first to see what characters it actually contains. If you spot a lone `&` instead of `&`, that's HTML encoding, not URL encoding. A quick tip: encode the entire query string with `encodeURIComponent` before inserting it into your newsletter template. Most email clients handle percent-encoded URLs just fine.
Q What happens if I paste a URL with already encoded characters into the decoder?
A The decoder will just show you the original percent-encoded bytes, nothing more. For example, `%2520` decodes to `%20` on the first pass, not a space. Run it through again if you suspect double-encoding — that second pass is where you'll finally see a space. I've seen data pipelines accidentally triple-encode query strings, so check twice if your API logs look odd. A quick tip: if you're cleaning spreadsheet exports, decode once, then grep for remaining `%` signs to spot leftovers.
Q Is URL encoding the same thing as base64 encoding?
A No, and mixing them up causes real headaches. URL encoding uses percent signs followed by hex values — a space becomes %20. Base64 uses a completely different alphabet of A-Z, a-z, 0-9, plus, and slash to pack binary data into text. Try decoding a base64 string here and you'll get garbage or an error. Need to spot the difference? Base64 strings often end with = padding and are way longer than their source. If you're building signed links for an API, check the docs carefully: some systems expect base64url, which swaps + and / for - and _. That variant won't decode properly in our tool either.
Q Why does my encoded string show %C3%A9 for é instead of %E9?
A That's the UTF-8 byte representation versus Latin-1. Modern web standards expect UTF-8, so this tool encodes é as two bytes: %C3%A9. The old %E9 only works in legacy systems. If you're sending data to an API built before 2005, you might need Latin-1, but that's rare now. Check your server's charset header if the receiving end mangles accents. For most cases, stick with UTF-8 output — it's what browsers and JSON parsers assume.
Q How long does it take to encode a large batch of URLs?
A Instant for anything you can paste. A single URL or a 10,000-character block processes in under a second since everything runs in your browser with JavaScript. There's no upload, no queue, no server round-trip. Paste a column of 50 URLs from a spreadsheet and you'll see the encoded output immediately. For massive datasets (say 100,000 rows), split them into chunks of a few thousand and run each through. Your machine's speed is the only bottleneck here.
Q Preparing clean text data for a database import
A Raw text fields containing weird symbols will crash SQL imports in seconds. Paste your messy CSV column here before running the migration script. The tool turns dangerous quotes and ampersands into safe percent codes. You won't waste hours debugging broken database tables later. Clean your strings first, load safely, and check your server logs.
Q Can I use this tool to safely pass JSON objects inside my query parameters?
A Yes, but you need to stringify the JSON first and run it through `encodeURIComponent`. For example, passing `{"id": 42}` turns into `%7B%22id%22%3A%2042%7D`. Without encoding, those brackets and quotes break standard URL parsers instantly. Paste your JSON payload here before appending it to your API request. That extra step saves you from endless routing errors.

How to Use

Related Tools