What is URL encoding?
URL encoding (percent-encoding) replaces characters that aren't safe inside a URL β spaces, &, =, and others β with a % followed by their hex code. This lets arbitrary text be safely embedded as a query parameter value or path segment.
How to use this tool
Choose Encode or Decode, then type or paste your text. This tool uses JavaScript's encodeURIComponent / decodeURIComponent β the right choice for encoding a single value (like a query parameter), since it escapes & and = too. If you needed to encode an entire URL while keeping its structure (like :// and ?) intact, you'd want encodeURI instead, which this tool does not use.
Example
Encoding name=John Doe&city=New York produces name%3DJohn%20Doe%26city%3DNew%20York.
Non-ASCII text is encoded as its UTF-8 bytes: μλ
νμΈμ becomes %EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94, and decoding that string gives back the original Korean text.
FAQ
Why do I get an error when decoding?
Decoding fails when the input contains invalid percent-encoding, such as %ZZ or a truncated % sequence. Double-check you copied the full encoded string.
Why is a space encoded as %20 and not +?
Percent-encoding writes a space as %20. Using + for a space is a separate convention from HTML form encoding (application/x-www-form-urlencoded). This tool follows encodeURIComponent, so a literal plus sign is escaped: a b+c encodes to a%20b%2Bc. When decoding, a + is kept as a plus sign, not turned into a space.