URL Encoder and Decoder

Percent-encode text so it is safe inside a URL, or decode a URL back to readable text. Pick component mode for a single value or full-URL mode to keep the address structure. Everything runs in your browser.

Encode or decode a URL

How to encode or decode a URL

  1. Paste your text or URL into the input box.
  2. Choose Component for a single value such as a search term, or Full URL for a whole address.
  3. Press Encode or Decode, then Copy output.

What URL encoding does

URLs can only safely contain a limited set of characters. Others, such as spaces, ampersands and non-English letters, are replaced with a percent sign and two hex digits based on their UTF-8 bytes. A space becomes %20. For example, encoding a b&c=d in component mode gives a%20b%26c%3Dd.

Component or full URL mode?

Component mode encodes almost everything, including / ? # & =. Use it for a value you are putting inside a query string. Full URL mode leaves those structural characters alone, so https://example.com/a b?q=ü becomes https://example.com/a%20b?q=%C3%BC and the address still works.

Plus signs and spaces

In HTML form data a + can stand for a space. This tool encodes spaces as %20 and decodes a plain + as a literal plus sign, which is how standard URL decoding functions behave. If your data came from a form, replace the plus signs with spaces first.

Malformed % sequences

Decoding fails if the text contains a % that is not followed by two valid hex digits, or if the bytes do not form valid UTF-8. The tool reports this instead of guessing.

Frequently asked questions

How do I encode a URL parameter?

Use Component mode on just the value, then place the result after the equals sign in your query string.

What does %20 mean?

It is a space character in URL encoding.

Why is a plus sign not decoded to a space?

Standard URL decoding treats + as a literal plus. Only form-encoded data uses it for spaces. Replace + with a space first if you need that.

Which characters need to be encoded?

Spaces, quotes, angle brackets, non-ASCII letters, and reserved characters such as & = ? # when they are part of a value rather than the URL's structure.

Does it work with Arabic and other languages?

Yes. Characters are encoded as UTF-8 bytes and decoded back correctly.

More free tools