/

URL Encode / Decode

Processed Client Side

Percent-encode URLs and query parameters, or decode them back to plain text.

Input · 1 lines
1 lines · 57 chars
Length: 57Lines: 1Size: 57 BytesCursor: 1:1
Output
Encoded
Length: 81Lines: 1Size: 81 BytesCursor: 1:1

Bookmark this tool now — skip the search next time you need it.

About URL Encode / Decode

This tool runs entirely in your browser. Whatever you paste is processed on your own device and is never uploaded, logged, or sent to any server.

Percent-encode text so it can travel safely inside a URL, and decode percent-encoded strings back into readable text. URLs may only contain a limited set of characters, so spaces, ampersands, question marks, slashes, and anything non-ASCII have to be rewritten as percent escapes such as %20 or %26. The tool offers both encoding scopes the web platform defines: Component mode escapes everything that is not safe inside a single query parameter or path segment, while Full URI mode leaves the structural characters of a URL — the slashes, the question mark, the ampersands — intact so you can encode a complete address without destroying it.

Key features

  • Encode and decode percent-encoding in both directions
  • Component scope, equivalent to encodeURIComponent — escapes & = ? / # and spaces, for values going inside a query string
  • Full URI scope, equivalent to encodeURI — preserves the structure of a complete URL while escaping unsafe characters
  • Correct UTF-8 handling, so non-Latin scripts and emoji encode to multi-byte escapes and decode back cleanly
  • Live conversion as you type, with a clear error state for malformed input
  • Detects invalid escape sequences on decode rather than silently producing garbage
  • One-click copy of the result
  • Runs entirely client-side — query strings containing tokens or personal data stay in your browser

How to use it

  1. Pick Encode or Decode.
  2. Paste your text or URL into the input pane.
  3. When encoding, choose the scope: Component for a single parameter value, Full URI for a whole address.
  4. Read the result in the output pane — it updates as you type.
  5. Click Copy output to use it.

Tips & common mistakes

  • Use Component for anything you are putting after an = in a query string. Full URI will leave & and = unescaped, which lets a value containing them break out and forge extra parameters.
  • A space becomes %20 in a path and may appear as + in a form-encoded query string. The two are not interchangeable: decoding a + as a space is only correct for application/x-www-form-urlencoded bodies.
  • Seeing %2520 in a URL means it was encoded twice — %20 was itself encoded, turning the % into %25. Decode it twice to recover the original.
  • Encode the value, not the whole URL, when building links in code. Encoding the assembled URL is what produces broken query strings.
  • Decoding fails on a lone % that is not followed by two hex digits. If your input came from a log file, a truncated line is the usual cause.
  • Non-ASCII characters produce several escapes each because UTF-8 encodes them as multiple bytes — an accented letter becoming %C3%A9 is correct, not a bug.

Related tools

Browse all 4 Encoding tools

Frequently asked questions

10

Paste your text into the input field and the URL-encoded result appears instantly. Use Component mode for query parameter values or URI mode for complete URLs.

Encoding replaces special characters with % sequences (e.g. space becomes %20) so they can be safely included in a URL. Decoding reverses this back to readable text.

Component mode (encodeURIComponent) encodes everything including : / ? # & — use it for individual query values. URI mode (encodeURI) preserves those characters for encoding a complete URL.

In the HTML form encoding format (application/x-www-form-urlencoded), a + sign represents a space. The decoder handles this automatically.

Spaces, quotes, brackets, ampersands, equals signs, and any non-ASCII characters must be encoded. The safest approach is to encode all values with encodeURIComponent.

Component. Full URI mode deliberately leaves & = ? and / unescaped so a complete address survives intact, which means a value containing those characters could break out and forge extra parameters.

The string was encoded twice. A space became %20, then the % itself was encoded as %25, giving %2520. Decode it twice to recover the original text.

Percent-encoding operates on bytes and non-ASCII characters are several bytes in UTF-8. An accented e encoding to %C3%A9 is correct rather than a bug.

Just the values. Encode each parameter value with Component mode as you build the URL. Encoding the assembled address afterwards is what produces broken query strings.

A lone % that is not followed by two hexadecimal digits is invalid. If the text came from a log file, a truncated line is the usual cause.