Skip to main content
Tools

URL Encode/Decode

Percent-encode or decode URLs and query parameters, with full UTF-8 support and exact error positions.

Scope

0 characters · 1 line

0 characters · 1 line

How to use

  1. Choose “Encode” or “Decode”.
  2. Choose the scope: “Parameter value” for a single query value, or “Full URL” to keep the URL structure such as :/?#&.
  3. Paste or type into the input, or click “Example” to try it. The result updates instantly.
  4. For data from HTML forms, turn on the option that treats + as a space.
  5. Click “Copy” to grab the result, or “Use result as input” to convert it back and check it.

FAQ

Is my data uploaded?

No. Encoding and decoding happen in your browser. Your data never leaves your device, and the tool even works offline.

What is the difference between “Parameter value” and “Full URL”?

“Parameter value” works like encodeURIComponent and encodes / ? & = # as well, which is right for a single query value. “Full URL” works like encodeURI and keeps those characters so the URL structure survives; only spaces, non-ASCII characters and the like are encoded.

Should a space be %20 or +?

Both mean a space, but + only does in HTML form data (application/x-www-form-urlencoded) query strings. In a URL path, + is a literal plus sign, so %20 is the default.

Why does decoding fail or produce garbled text?

Usually part of the text is missing (a Chinese character needs three %XX groups), a % is not followed by two hex digits, or the text was encoded with Big5 instead of UTF-8. The tool shows the position of the problem.

Why aren't ! ' ( ) * encoded?

The tool matches the browser’s built-in encodeURIComponent, which leaves these characters as they are because they are safe in URLs.

Keyboard shortcuts

/
Search tools (on a tool page, goes to the homepage search)
?
Show this help
Esc
Close a dialog
Ctrl / ⌘Enter
Run the tool's main action (where supported)

While you type in a text field, / and ? are typed as usual.