How the url encoder & decoder works
URL Encoder & Decoder (also known as Percent-Encoding) ensures strings and parameters are safe for transport across HTTP web requests in accordance with RFC 3986. Special characters like spaces, ampersands (&), question marks (?), slashes (/), and quotes have reserved meanings in URL syntax and cause broken links if not properly percent-encoded.
Use this tool to prepare parameters for REST APIs, track campaign UTM codes, or decode unreadable URLs back into plain, human-readable text.
Step-by-step instructions
- Paste your raw string or percent-encoded URL into the input field.
- Choose Encode to convert special characters into percent codes, or Decode to convert back to plain text.
- Copy your formatted URL result instantly.
Percent-Encoding Specification (RFC 3986)
Character → UTF-8 bytes → %XX hex representation (e.g. space = %20, & = %26)Characters outside the unreserved set ([A-Za-z0-9-_.~]) are converted to their UTF-8 byte values, then preceded by a percent sign (%) and two hexadecimal digits.
Practical example
Input: 'search?query=hello world & test' → Encoded: 'search%3Fquery%3Dhello%20world%20%26%20test'.
Frequently asked questions
What is the difference between encodeURI and encodeURIComponent?
encodeURI preserves protocol slashes (://) and domain separators for full web addresses, whereas encodeURIComponent encodes all reserved punctuation for query string parameters.
Why do spaces sometimes become + instead of %20?
In application/x-www-form-urlencoded forms, spaces are historically encoded as '+'. In standard RFC 3986 URL path and query encoding, spaces are represented as '%20'.
Does decoding handle multi-byte Unicode characters?
Yes, UTF-8 percent-encoded sequences (such as %C3%A9 for 'é') are decoded cleanly.