URL encode / decode
Escape a value, or a whole address, and back again.
Result
Start typing and the result appears here. No button needed.
URL encode / decode, without the extra steps.
Percent-encode a query parameter value, or encode a whole address while leaving the :// ? & # that make it work. Decoding turns percent escapes back into readable text, which is the quickest way to read a long tracking URL.
How to use this tool
- 1Paste a value or a full URL.
- 2Choose Encode or Decode, and whether to escape one value or a whole address.
- 3Copy the resulting text.
When URL encode / decode is the right tool
- A query parameter contains spaces, ampersands, or non-Latin text.
- A redirect URL must be embedded inside another URL.
- A link from a log needs decoding into something readable.
- A tracking parameter is breaking because a value was not escaped.
Component encoding versus full URLs
Encoding is applied as though the input were a single URL component, so the reserved characters that separate parts of a URL — : / ? # [ ] @ & = + $ , — are escaped rather than preserved. That is exactly what you want for a parameter value, and exactly wrong for a whole URL, which would come back with its scheme and slashes escaped. Encode the value, then assemble the URL.
Spaces, plus signs, and double encoding
A space becomes %20. The + convention for spaces belongs to HTML form submission rather than URLs generally, so a + in a decoded value is a literal plus. Watch for double encoding: %2520 is an already-encoded %20 that was encoded again, a common cause of broken redirect links, and it needs decoding twice to recover the original.
A few quick answers.
Paste a value or a full URL. Choose Encode or Decode, and whether to escape one value or a whole address. Copy the resulting text.
Tool inputs are processed in your browser. Crate has no upload endpoint and no accounts. Downloaded site assets and a cookie-free page-view count still require a connection; your files and text are not included in those requests.
One value uses encodeURIComponent; whole URL uses encodeURI, which leaves reserved punctuation alone and cannot repair an already broken address. Decoding always uses decodeURIComponent. Plus signs are not treated as spaces. Malformed percent escapes return an error.
You should not. Encoding treats the input as a single component, so a full URL comes back with its scheme and slashes escaped. Encode the parameter value, then build the URL.
It is a %20 that was encoded a second time. Double encoding is a common cause of broken redirects and needs decoding twice.