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
- Paste your text or URL into the input box.
- Choose Component for a single value such as a search term, or Full URL for a whole address.
- 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
Base64 encoder and decoderJSON formatterCase converterAll text tools