URL Encode / Decode

Encode or decode URLs, query strings and form data with percent-encoding, instantly in your browser.

Encoding — component (encodeURIComponent)

No uploads. Your files stay on your device.

Free forever, no sign-up, no cookies. Buy me a coffee

How it works

Paste anything into the input box and the URL encoder / decoder converts it instantly. Encoding replaces every unsafe character with its percent-encoded (%XX) escape so the text survives being put in a URL — a space becomes %20, an ampersand becomes %26. Decoding does the reverse and turns hello%20world back into hello world. If the input already contains %XX escapes, auto-detect switches to decoding for you; pick Encode or Decode explicitly to override it.

Three encoding styles are available. Component uses encodeURIComponent and escapes : / ? & = too — the right choice for a single query-string value. Full URL uses encodeURI and keeps the structural characters intact so a whole address stays clickable. Form data matches application/x-www-form-urlencoded, writing spaces as +. When your text parses as a URL with a query string, the table below breaks out each parameter with its decoded value. Malformed escapes such as %zz are reported instead of crashing. Everything runs in your browser with JavaScript — nothing you paste is uploaded, stored or logged, so it is safe for tokens and signed links.

Frequently asked questions

What is URL encoding?

URL encoding (also called percent-encoding) replaces characters that are unsafe or reserved in a web address with a % followed by two hexadecimal digits. A space becomes %20, an ampersand becomes %26 and a question mark becomes %3F, so the value can travel inside a URL without being mistaken for part of its structure.

How do I decode a URL?

Paste the encoded text into the input box. If it contains %XX escapes the tool auto-detects that you want to decode and shows the readable text immediately — or pick "Decode" from the Direction menu to force it. Choose the "Form data" style if the string uses + for spaces, as HTML form submissions do.

What is the difference between encodeURI and encodeURIComponent?

encodeURI is for a whole address: it leaves the structural characters : / ? & = # alone so the URL still works. encodeURIComponent is for a single piece, such as one query-string value, and escapes those characters too. Use the Component style when inserting a value into a URL, and the Full URL style when cleaning up an entire link.

Report a bug