Skip to content
AdeptBay

URL Encode / Decode

Percent-encode URLs and query strings, with the right mode for each.

Runs in your browserNo sign-upNo file limitAPI available
0 chars · 0 lines
Options

Component is what you want in almost every case.

Result

Start typing above and the result appears here.

How to use URL Encode / Decode

  1. Choose the scope

    Component for a single value. Full URL only when you have an entire address that must stay navigable.

  2. Paste your text

    The result updates as you type.

  3. Check the round trip

    Switch the direction to decode and paste the result back. If you get your original text, the encoding is correct.

Why use this url encode / decode

  • Runs on your device

    Your input is handled entirely in this browser tab. Nothing is uploaded, so there is nothing for us to store, log or leak.

  • No sign-up, no quota

    No account, no daily limit, no watermark and no email wall. Use it once or two hundred times a day.

  • Built to be linked

    Options are stored in the URL, so a configured tool is a link you can send to a colleague or bookmark.

Technical notes

Three encoding modes, because the same input needs different treatment depending on where it lands. Component mode escapes reserved characters; full-URL mode preserves them so the address stays navigable; form mode encodes a space as a plus, which is only correct inside an application/x-www-form-urlencoded body. Most tools offer one mode and get the other two wrong.

Same input, three modes

ModeInputOutput
Componenthttps://a.com?q=x yhttps%3A%2F%2Fa.com%3Fq%3Dx%20y
Full URLhttps://a.com?q=x yhttps://a.com?q=x%20y
Form datax y & zx+y+%26+z

Supported

  • RFC 3986 percent-encoding over UTF-8
  • Component, full-URL and form-data scopes
  • Full Unicode, including emoji and combining marks
  • Encoding of ! ' ( ) and * in form mode, which encodeURIComponent leaves alone

Limits and trade-offs

  • Decoding requires well-formed input: a bare % that is not followed by two hex digits is an error, not a warning.
  • Punycode for internationalised domain names is a separate conversion and is not applied here.

Last verified August 2026 · benchmarks re-run each quarter.

Frequently asked questions

What is the difference between component and full URL encoding?

Component encoding escapes every reserved character including : / ? # & and =, which is right for a single parameter value. Full URL encoding leaves those alone so the address still works. Encoding a whole URL in component mode produces a string no browser can follow.

When should a space become + instead of %20?

Only in application/x-www-form-urlencoded bodies — that is, classic HTML form submissions. Everywhere else in a URL, a space is %20. The plus convention is a form-encoding rule that predates the URL specification and does not generalise.

Why does my decode fail with "URI malformed"?

A percent sign in the input is not followed by two valid hex digits. It usually means the text was already decoded once, or contains a literal % that was never escaped. Encode the literal % as %25 before decoding.

Does this handle non-English characters?

Yes. Non-ASCII characters are converted to UTF-8 bytes and each byte is percent-encoded, which is what RFC 3986 specifies. Bangla, Arabic, CJK and emoji all round-trip exactly.

Is it safe to paste a URL containing a token?

Yes. Everything runs in this browser tab and nothing is transmitted. That is deliberate — signed URLs and OAuth callbacks are among the most common things people need to decode.

Guide: how to use the URL Encode / Decode, step by stepThe longer version — alternatives, trade-offs, and the mistakes that waste the most time.