URL Encoder / Decoder
Encode or decode URLs and query strings instantly, right in your browser.
Query String Parser
Paste a full URL or a query string to break it into individual parameters.
About URL Encoding
URL encoding (also called percent-encoding) replaces unsafe ASCII characters with
a % followed by two hexadecimal digits. For example, a space becomes
%20 and & becomes %26.
This ensures special characters are transmitted correctly in URLs and query strings.
How to Encode or Decode a URL
Select the Encode tab to convert special characters to percent-encoding, or Decode to reverse the process.
Paste your URL or text into the input field. The result updates as you type.
Toggle "Encode full URL" if you want to preserve :// and / characters (recommended for full URLs).
Use the Query String Parser below to break a URL into its individual parameters.
Frequently Asked Questions
What is URL encoding and why is it needed?
URLs can only contain a limited set of ASCII characters. Special characters like spaces, &, =, #, and non-ASCII characters must be "percent-encoded" — replaced with a % followed by their two-digit hexadecimal code. For example, a space becomes %20 and & becomes %26. This ensures the URL is transmitted correctly over the internet.
What is the difference between encodeURI and encodeURIComponent?
encodeURI encodes a full URL and preserves characters that have special meaning in URLs (like /, :, ?, &, =, #). encodeURIComponent encodes everything including those special characters — use it for individual query parameter values.
Why does %20 appear instead of + for spaces?
Both %20 and + represent a space in URLs, but in different contexts. %20 is the standard percent-encoding for a space. + is a shorthand used specifically in HTML form submissions (application/x-www-form-urlencoded). In query strings, both are commonly accepted, but %20 is more universal.
What characters do not need to be encoded?
Unreserved characters that are always safe in URLs: letters (A–Z, a–z), digits (0–9), and the symbols - _ . ~ These characters never need percent-encoding. All other characters, including spaces, &, =, #, @, and non-ASCII characters, should be encoded.