URL Encode and Decode

URL Encode and Decode

Encode text for safe use in URLs, or decode a percent-encoded string back to readable text.

The URL Encode and Decode tool converts text to and from percent-encoding, the system URLs use to carry characters that would otherwise break them. Spaces, ampersands, question marks, and non-English letters cannot travel raw inside a web address, so they are written as codes like %20 and %26. When you build links, debug query strings, or inspect a redirect, you constantly meet this encoding.

Two modes cover the two real jobs. Component mode, the default, encodes everything needed for a single query value, including slashes and ampersands, which is the right choice for search terms and parameters. Full URL mode keeps the structural characters of a complete address, such as colons and slashes, and encodes only the unsafe parts.

Decoding is just as careful: malformed percent sequences produce a clear error instead of silent garbage, so you know the string itself is broken. Everything uses functions built into your browser and runs locally; nothing is uploaded.

How to use

  1. Choose Component mode for a single value, or Full URL mode for a whole address.
  2. Paste your text or encoded string into the box.
  3. Click Encode or Decode.
  4. Copy the result from the lower box.

Frequently asked questions

What is the difference between the two modes?

Component mode, based on encodeURIComponent, escapes characters like /? and & so a value stays one value. Full URL mode, based on encodeURI, preserves those characters because a complete URL needs them as structure.

Why did decoding fail?

The input likely contains an incomplete or invalid percent sequence, such as a lone % or %ZZ. The tool reports the browser's error rather than guessing, so you can repair the string.

Does it handle non-English text?

Yes. Characters are encoded as their UTF-8 percent sequences, the modern standard, and decode back to the original text exactly.

Is my text uploaded?

No. Encoding and decoding happen in your browser only.