URL Encoder / Decoder
Percent-encode URLs and URI components, or decode encoded strings back to plain text.
Common Percent-Encoded Characters
How to Use
- Encode Component — encodes all special characters including
/ ? = & #. Use this for query parameter values. - Encode Full URL — preserves
:// ? = & #so the URL structure stays intact. Use this for encoding a complete URL. - Decode — paste any percent-encoded string to convert it back to plain text. Both
%XXand+(space) forms are supported. - Output updates live as you type (300 ms debounce) — no need to click a button.
- Click Copy Output to copy the result to your clipboard.
About this URL Encoder/Decoder
URLs can only safely contain a limited set of characters. URL encoding (also called percent-encoding) converts anything outside that set — spaces, symbols, non-English letters — into a percent sign followed by a two-digit hex code, so the URL remains valid and unambiguous.
Why spaces become %20 or +
A literal space in a URL can break parsing, since spaces normally separate distinct pieces of a request. %20 is the standard percent-encoded form of a space. In query strings specifically, a + is also commonly accepted as a space, a legacy convention from HTML form submission — but %20 is the more universally correct encoding outside of query strings.
Reserved characters that need encoding
Characters like &, =, ?, #, and / have special meaning in a URL's structure (separating parameters, marking a fragment, and so on). If one of these characters needs to appear as literal data inside a parameter value — for example, an email address containing "&" or a search term containing "#" — it must be encoded so it isn't misread as part of the URL's structure.
Where this matters in practice
- Building a link that passes a search term, email address, or freeform text as a query parameter
- Decoding a tracking or redirect URL to see its actual destination and parameters
- Debugging an API request where special characters in a parameter are breaking the request