🔒 Privacy: everything runs in your browser. Nothing is uploaded.

About this url encode / decode

URLs may only contain a limited set of ASCII characters. Spaces, ampersands, question marks, non-English letters and emoji have to be written as percent-encoded bytes such as %20 or %C3%AB. If you build links by hand, share UTM-tagged campaign URLs, debug API requests or read server logs, you constantly need to switch between the readable form and the encoded form. This URL encoder and decoder does both in one click.

There are two encoding modes. Encode component escapes everything that has a special meaning in a URL (& = ? / # +), which is what you want for a single query-string value or a path segment. Encode full URL keeps the structure characters intact and only escapes what is illegal, which is what you want for a whole link. Decoding also turns + into a space, matching how HTML forms submit data.

A frequent source of bugs is double encoding: a value gets encoded once by your code and again by a library, so a space becomes %2520 instead of %20. If you see %25 in a URL, decode it once and check whether the result still contains percent signs. Marketers run into the same issue with UTM parameters copied from spreadsheets. Another tip: when a redirect URL is passed as a parameter inside another URL, encode the inner URL as a component so its own ? and & characters do not break the outer query string. Decoding server logs with this tool makes search terms and paths readable again.

How to use it

  1. Paste text or a URL.
  2. Choose Encode component for a single parameter value, or Encode full URL for a complete link.
  3. Use Decode to turn %XX sequences back into readable text.

FAQ

What is the difference between %20 and +?

Both can mean a space. %20 is valid everywhere; + means space only inside query strings sent by HTML forms.

Why did decoding fail?

A % followed by characters that are not two hex digits (for example "50%") is malformed. Encode it first or fix the stray percent sign.

Does this handle Unicode?

Yes. Characters are converted to UTF-8 bytes and each byte is percent-encoded, as browsers do.

Is anything uploaded?

No, all processing happens locally in your browser.

More free tools