Ad — 728x90 Leaderboard

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.