URL Encoder / Decoder
encode and decode URL percent-encoding for query strings and paths
By Bikram NathLast updated
Paste a raw query string like `name=John Doe&city=São Paulo` and get back `name=John%20Doe&city=S%C3%A3o%20Paulo`, percent-encoded and safe to append to any endpoint. Unlike running encodeURIComponent() in a browser console, this tool exposes the distinction between full URL encoding and component-level encoding separately, which is the detail that trips up integrations when a parameter value itself contains reserved characters like & or =.
Try it now — free, instant, no signup
What is URL Encoder / Decoder?
URL Encoder / Decoder converts characters that are illegal or reserved in URLs into their percent-encoded equivalents per RFC 3986. Feed it `/search?q=hello world&lang=日本語` and it returns `/search?q=hello%20world&lang=%E6%97%A5%E6%9C%AC%E8%AA%9E`. Each non-ASCII character is UTF-8 encoded first, then each resulting byte is written as a %XX sequence.
Reach for this instead of a browser console's encodeURIComponent() when you want encoded and decoded output side by side without writing throwaway code, or when you need to verify which characters a specific encoding mode leaves untouched. Postman's pre-request scripts can do this too, but they require JavaScript knowledge. For bulk decoding of access logs, grep combined with printf '%b' in bash is faster.
The most common confusion: spaces encode as %20 under RFC 3986, but as + under application/x-www-form-urlencoded, the format HTML forms and many older REST APIs use. This tool follows RFC 3986 and outputs %20. If a server-side decoder interprets + as a space, a literal + in a parameter value will survive encoding but silently corrupt after decoding on the receiving end.