URL Encode / Decode

Escape and unescape URLs.

Updated
Loading tool…

Escape and unescape URLs.

How to use URL Encode / Decode

  1. Paste the text or URL you need to escape or unescape
  2. Choose Component mode for one value or Full URL mode
  3. Read the encoded or decoded output and copy it out
Want the how & why?Read: URL Encoding Explained: Why Spaces Become %20 →
Try next →JSON FormatterFormat, repair and validate JSON.

About URL Encode / Decode

URL decoding turns percent-escaped sequences like %20, %26, and %3D back into the readable characters they stand for — spaces, ampersands, equals signs, and accented or non-English letters. Paste an encoded URL or query string and this tool decodes it instantly, so you can read a mangled link, debug a redirect, or pull a clean value out of a tracking parameter. Encoding does the same job in reverse, converting spaces and reserved characters into safe percent-escaped form so links, form data, and API parameters survive being passed between systems.

Two modes cover the different jobs. Component mode escapes reserved characters like : / ? & = # so a single query value or path segment stays intact — the same result you get from JavaScript's encodeURIComponent and decodeURIComponent. Full URL mode leaves a complete address's structure untouched, so you can encode or decode the whole thing without breaking it. Malformed input, such as a stray % or an incomplete %XX pair, is caught gracefully with a clear message instead of a crash.

Everything is free with no sign-up, no limits, and no ads. All the encoding and decoding runs entirely in your browser using the built-in JavaScript functions, so your text is never uploaded to a server or stored anywhere. Copy any result with one click, or swap the output back into the input to chain an encode and a decode together.

Frequently asked questions

How do I decode an encoded URL?
Paste the encoded URL or string into the input and the tool decodes it instantly, turning percent-escaped sequences like %20 and %3D back into spaces, symbols, and readable text. Use Component mode for a single query value and Full URL mode for a complete address.
Can I both encode and decode with this tool?
Yes. It works in both directions: encode readable text into percent-escaped form, or decode percent-encoding back into plain characters. You can also swap the output into the input to chain an encode and a decode in one place.
What is the difference between Component and Full URL mode?
Component mode uses encodeURIComponent, which escapes reserved characters like : / ? & = # so the text is safe as a single query value or path segment. Full URL mode uses encodeURI, which keeps those structural characters intact so you can encode a complete address without breaking it.
What does URL encoding actually do?
It converts characters that are unsafe or reserved in a URL, such as spaces, ampersands, and non-English letters, into percent-escaped sequences like %20 or %26. This keeps links, query parameters, and form data from breaking when passed between systems.
Why does decoding sometimes show an error?
Decoding fails when the input contains malformed percent-encoding, such as a stray % sign or an incomplete %XX sequence. The tool catches this and shows a friendly message instead of crashing. Fix or remove the broken sequence and it will decode.
How do I decode a URL in JavaScript?
In JavaScript, decodeURIComponent() decodes a single value and decodeURI() decodes a full URL, while encodeURIComponent() and encodeURI() do the reverse. This tool runs those exact functions, so you can test a string right away without opening a console.
How do I decode a URL in Python?
In Python you would use urllib.parse.unquote() to decode percent-encoding and quote() to encode it. This tool gives the same result without writing any code, which is handy for a quick one-off or for checking what your script should produce.
Can this decode a Proofpoint URL Defense link?
Decoding a rewritten Proofpoint link will turn its percent-encoded pieces back into readable characters, which often reveals the underlying destination. Note that Proofpoint's URL Defense uses its own wrapping scheme on top of standard encoding, so a plain percent-decoder may not fully unwrap every rewritten link.
Does this do Base64 URL decoding?
No. This tool handles URL percent-encoding (the %XX format), not Base64. If your string is Base64 or a Base64URL variant rather than percent-escaped, you will need a dedicated Base64 decoder instead.
Is my data uploaded or stored anywhere?
No. All encoding and decoding happens locally in your browser using built-in JavaScript functions. Your text never leaves your device and nothing is sent to a server or saved.
Is this URL encoder and decoder free?
Yes, it is 100% free with no account, no sign-up, and no usage limits. You can encode and decode as many URLs and strings as you want.