URL Encoder/Decoder
Encode and decode URLs and URI components instantly — choose Component or Full URI scope.
Encoded/decoded locally in your browser — nothing is sent to a server.
Escapes everything except unreserved characters — use for a single value.
About this tool
Paste or upload text to percent-encode it, or paste percent-encoded text to decode it back. Switch direction with the mode selector or the swap button, and pick Component scope for a single value (like a query parameter) or Full URI scope for an entire URL, so reserved characters like ‘/’ and ‘&’ aren’t escaped when they shouldn’t be.
Frequently asked questions
- What's the difference between Component and Full URI scope?
- Component scope (encodeURIComponent/decodeURIComponent) escapes every character except unreserved ones — use it for a single value, like a query parameter, that will be inserted into a URL. Full URI scope (encodeURI/decodeURI) leaves URI-reserved characters like ':', '/', '?', '&', and '=' untouched — use it for an entire URL you don't want to break.
- Why does decoding sometimes leave '%2F' or similar unchanged?
- That's Full URI scope working as intended: decodeURI deliberately doesn't decode escape sequences for reserved characters, since doing so could change the meaning of the URL's structure (for example, turning an encoded '/' inside a path segment into a literal path separator). Switch to Component scope if you want every escape sequence decoded.
- Is my text sent to your servers?
- No. Encoding and decoding both happen in your browser using native Web APIs. Nothing you paste, upload, or generate here is sent to WebCodeIn's servers, logged, or stored.
- Does this handle Unicode text, like accented letters or emoji?
- Yes — percent-encoding works over UTF-8 bytes, so any Unicode character round-trips correctly.
Privacy
Every encode and decode operation runs in your browser using native Web APIs. No text, request, or generated value is sent to WebCodeIn’s servers, logged, or stored.