URL Encode / Decode

Percent-encode and decode URLs, query strings and text — with component, full-URL and strict RFC 3986 modes.

0 characters

0 characters

Options

Input 0
Output 0

About the URL Encoder & Decoder

This free URL encoder and decoder converts text and links to and from percent-encoding right in your browser. Switch between Encode and Decode, paste your text, and the result appears instantly — ready to copy. Encoding turns characters that are unsafe or reserved in a URL (spaces, &, ?, /, # and more) into %XX escapes, while decoding turns them back into readable text.

Choose the encoding that fits the job: Component (encodeURIComponent) for a single query value or path piece, Full URL (encodeURI) to encode a whole URL while keeping its structure, or Strict (RFC 3986) for maximum compatibility. You can also switch a space between %20 and + for form-style query strings. Everything runs entirely in your browser — nothing is uploaded, so even private links and tokens stay on your device, and the tool keeps working offline once loaded.

Frequently asked questions

Answers to the questions we hear most about this tool.

What is URL encoding (percent-encoding)?

URL encoding, also called percent-encoding, replaces characters that have a special meaning in a URL — or that aren't allowed in one — with a "%" followed by two hexadecimal digits. For example a space becomes %20 and an ampersand becomes %26. It lets you safely put arbitrary text, such as a search term or a value with slashes and question marks, inside a URL or query string without breaking its structure. Paste your text here and the encoded version appears instantly.

What is the difference between encodeURIComponent and encodeURI?

Use the Component mode (encodeURIComponent) when you are encoding a single piece of a URL, such as one query-string value or a path segment — it escapes reserved characters like / ? : @ & = + and # so they are treated as data, not structure. Use the Full URL mode (encodeURI) when you want to encode an entire URL while keeping it working: it leaves those structural characters intact and only escapes things like spaces. The Strict (RFC 3986) mode goes further and also escapes ! * ' ( ) for maximum compatibility.

Why is a space sometimes %20 and sometimes a plus sign?

Both can represent a space, but in different contexts. In a path or a generic URL a space is encoded as %20, while in an application/x-www-form-urlencoded query string (the format HTML forms submit) a space is traditionally encoded as a plus sign (+). Turn on "Encode space as +" when you are building form-style query data, and turn on "Decode + as space" when you are reading it back, so the conversion matches whichever convention your URL uses.

Why does my URL fail to decode?

Decoding fails when the text isn't valid percent-encoding — usually a lone "%" that isn't followed by two hex digits (for example "100%" or "%zz"), or a truncated sequence. When that happens the tool shows a clear message instead of guessing. Fix or remove the stray "%" and it will decode; if your data uses + for spaces, enable "Decode + as space" so those are handled too.

Is this URL encoder and decoder free and private?

Yes. It is completely free with no sign-up or limits, and every conversion runs entirely in your browser with JavaScript — the URLs and text you paste are never sent to or stored on any server. That also means it keeps working offline once the page has loaded, so you can safely encode or decode sensitive links and tokens.