URL Encoder & Decoder
Encode plain text to percent-encoded format or decode %XX strings back to readable text. Component or full-URL mode. Space as %20 or +. URL parser breaks any URL into its parts and decodes every query parameter.
Component vs Full URL Mode
This is the question developers get confused about most. Component mode uses encodeURIComponent — it encodes everything except letters, digits, and - _ . ! ~ * ' ( ). This is what you want for encoding a single value that will be placed inside a URL, like a search term or a parameter value.
Full URL mode uses encodeURI — it preserves characters that have structural meaning in a URL: : / ? # [ ] @ ! $ & ' ( ) * + , ; =. Use this when encoding an entire URL that is already properly structured and you only want to fix unsafe characters.
For example, encoding https://example.com/path?q=hello world in Full URL mode gives https://example.com/path?q=hello%20world (structure preserved). In Component mode it gives https%3A%2F%2Fexample.com%2Fpath%3Fq%3Dhello%20world (everything encoded, URL broken).
%20 vs + for Spaces
There are two valid ways to encode a space in a URL. %20 is the standard per RFC 3986 and works everywhere. + is used in application/x-www-form-urlencoded format — this is what HTML forms send, and what PHP's $_GET and $_POST parse. If you are encoding form data or query strings to be parsed by a web server, + is fine. If you are encoding a URL component for any other use, use %20.
URL Parser
Paste any URL into the parser panel to instantly see every component — protocol, host, port, path, hash — and every query parameter decoded into a readable key-value table. Useful for debugging redirect URLs, OAuth callback URLs, and any URL that has been encoded multiple times.