URL Encoder / Decoder
Percent-encode or decode text for safe use in URLs and query strings. Runs entirely in your browser — nothing is sent to any server.
Encodes every character not safe in a single query-string value — use this for a value you're inserting into a URL (query param, path segment).
What is URL encoding?
URL (percent) encoding replaces characters that aren't safe inside a URL — spaces, `&`, `=`, `#`, non-ASCII letters, and more — with a `%` followed by their hex byte value, so the string can travel inside a URL without being misread as part of its structure. This tool offers two modes: component mode (`encodeURIComponent`), which escapes everything unsafe in a single value like a query parameter, and full-URI mode (`encodeURI`), which leaves structural characters like `:`, `/`, `?`, `#` and `&` alone because they're expected to appear in a complete URL.
Examples
Percent-encode or decode a string natively in most languages:
encodeURIComponent(str)
decodeURIComponent(str)from urllib.parse import quote, unquote
quote(s)
unquote(s)URLEncoder.encode(s, "UTF-8")
URLDecoder.decode(s, "UTF-8")Uri.EscapeDataString(s)
Uri.UnescapeDataString(s)import "net/url"
url.QueryEscape(s)
url.QueryUnescape(s)rawurlencode($s)
rawurldecode($s)require 'erb'
ERB::Util.url_encode(s)
CGI.unescape(s)Use Cases
Building query string parameters
Encode a value (search term, email, free text) before appending it to a URL as `?q=<value>`, so characters like `&` or `#` in the value don't break the query string.
Debugging a malformed link
Decode a URL you received to see its real, human-readable form — useful when a redirect or webhook payload has garbled percent-encoded characters.
Working with API request URLs
Many APIs require path segments or parameters to be percent-encoded — encode IDs or filter values here before hand-building a request URL.
Reading tracking and redirect URLs
Marketing links and OAuth redirects often nest a full URL inside a query parameter — decode it to see the actual destination before clicking.