DevRivet
Tools

URL Encoder / Decoder

Encode and decode URL/query-string components.

Your data stays in your browser. Nothing is uploaded to a server.

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.