Skip to content
Toolbench

URL Encoder / Decoder

Percent-encode text for a URL, or decode a URL back into readable text.

Runs entirely in your browser

Loading tool...

How to use

  1. Choose whether you are encoding or decoding.
  2. Pick what you have: a single value going inside a query string, or a whole URL.
  3. Paste your text — the result updates as you type.
  4. Turn on + for spaces if the value is going into a form submission.

Features

  • Both modes, kept distinct: a value that must escape / ? and &, or a whole URL that must not.
  • Decoding points at the character that failed instead of returning nothing.
  • Optional + for spaces, matching how a form submits.
  • Correct on non-ASCII: Vietnamese, Japanese and emoji encode as UTF-8 bytes.
  • Runs entirely in your browser.

Frequently asked questions

What is the difference between the two modes?
A value going inside a query string must escape /, ?, & and = — otherwise it breaks out and changes the URL's meaning. A whole URL must not escape those, because they are its structure. Picking the wrong one is the usual bug: encoding a full URL as a value gives you https%3A%2F%2F..., which nothing can follow.
Why did my decode fail?
A % that is not followed by two hex digits. Usually a literal percent sign that was never encoded — "100%" is the classic case. The tool tells you which character it stopped at.
Should spaces be %20 or +?
%20 everywhere in a URL; + only inside a query string of a submitted form, where it is a convention from HTML forms rather than the URL standard. When in doubt, %20 is always safe.
Is my text uploaded?
No. Encoding and decoding both happen in the page, using the browser's own functions. Nothing is sent to a server.

Paste a curl command from your browser's network panel and get the fetch call it corresponds to.

Escape text so a browser renders it instead of running it — and read entities back into the characters they stand for.

Break a URL into its scheme, host, path, query parameters and fragment.

Convert text to Base64 and back again.

URL Encoder and Decoder — Percent Encoding