URL Encode / Decode

Paste text to percent-encode it for query strings and paths, or paste a %XX string to decode it. Encoding uses encodeURIComponent: a space becomes %20 and é becomes %C3%A9. Unreserved characters (letters, digits and - _ . ~) pass through unchanged. The string is encoded in this tab and never sent anywhere.

Input
Output
Waiting for input

Runs in this tab · nothing is uploaded · Verify in 10 seconds →

What the URL encoder/decoder does

URL encoding (percent-encoding) replaces reserved characters so they can travel safely in a query string or path. This tool wraps encodeURIComponent and decodeURIComponent.

How the URL encoder/decoder works

Encode maps characters such as spaces and ampersands to % sequences. Decode reverses them. Both functions run locally.

~/faq

Frequently asked questions

Encode vs encodeURI?

This tool uses encodeURIComponent, which also encodes ?, &, and =. That is the right choice for query values, not for a full URL you want to keep as a URL.

Why did decode fail?

A lone % or a truncated escape sequence is invalid. Check the string for incomplete %HH groups.

Does plus become space?

Not here. application/x-www-form-urlencoded treats + as space; this tool follows JavaScript's decodeURIComponent, which does not.

Is input uploaded?

No.