API & Auth

URL Encoder / Decoder

Percent-encode and decode URLs and query parameters — with separate modes for components and full URLs.

Your text is encoded and decoded locally in your browser. It is never uploaded to our servers.

Component mode encodes everything (encodeURIComponent) — use for query parameter keys and values.

How to use

  1. Paste your text or URL into the input box.
  2. Choose Component mode for query parameter keys/values (encodes everything), or Full URL mode for whole URLs (keeps ://, ?, & intact).
  3. Click Encode or Decode.
  4. Use Swap to reverse direction with the current result, and Copy to grab the output.

What is percent-encoding?

URLs may only contain a small safe set of ASCII characters. Everything else — spaces, Unicode, and reserved characters used in the wrong place — must be written as percent-encoding: a % followed by two hex digits per UTF-8 byte. A space becomes %20, and 中文 becomes %E4%B8%AD%E6%96%87.

There are two levels, and mixing them up is a classic bug: component encoding (encodeURIComponent) escapes everything and is correct for individual query values and path segments; full-URL encoding (encodeURI) preserves the structural characters of an already-formed URL. Encoding a full URL with component encoding destroys the :// and query separators.

Like Base64, percent-encoding is not encryption — it is only transport-safe representation. Decoding also surfaces what is really inside suspicious links, which is useful when reviewing redirects or tracking parameters.

Examples

Building a query string

A search for "coffee & tea" must become coffee%20%26%20tea in the URL. Component mode encodes the & so the server sees it as data, not a parameter separator.

Reading an obfuscated redirect

Paste a long %XX-laden URL and click Decode (Full URL mode) to see the actual destination before you click it.

Fixing double encoding

If a decoded URL still contains % characters, it was encoded twice. Press Decode again (or use Swap) until it reads cleanly.

Preparing non-ASCII paths

File or page names with Unicode must be percent-encoded to appear in links. Component mode gives you the exact bytes the browser will request.

Frequently Asked Questions

What's the difference between Component and Full URL mode?+
Component mode encodes every special character (like encodeURIComponent) — correct for query values and path segments. Full URL mode keeps structural characters like :, /, ?, & (like encodeURI) — correct for a complete URL.
Is + the same as a space?+
In the application/x-www-form-urlencoded format (HTML forms) yes, but in plain percent-encoding a space is %20. This tool follows standard percent-encoding (%20).
Does decoding a URL make it safe to visit?+
No — decoding only reveals the text. Always verify the real domain and path before visiting an unfamiliar link.
Why does my decoded URL show a URIError?+
Usually a lone % or an invalid %XX sequence (for example a truncated encoding). Fix or remove the stray % and try again.
Does this handle Base64 inside URLs too?+
If a parameter looks like Base64, decode that part with our Base64 tool (URL-safe variant supported) after percent-decoding the URL.
Can I validate a URL pattern instead?+
Yes — our URL regex template and Regex Tester let you match and validate URL formats in code.

Related Tools

Looking for something else? Browse all tools