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 you can 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