URL encode or decode

Encode special characters in a URL or query value, or decode an encoded URL back to readable text.

Drop your file here

or click to browse

All files or paste with ⌘V

How it works

Encode special characters in a URL or query value, or decode an encoded URL back to readable text.

Two scopes. "Query parameter" uses encodeURIComponent / decodeURIComponent, which escapes everything that's not allowed in a URL component (so #, ?, &, =, +, spaces, and unicode all get encoded). Use this for values inside a query string. "Full URI" uses encodeURI / decodeURI, which preserves URL syntax characters (so #, ?, &, =, +, / pass through) and only encodes the characters that would actually break URL parsing. Use this for whole URLs. The mode dropdown switches between encoding and decoding. Both happen live as you type. Invalid encoded input (e.g. lone % characters) shows an error. Useful for sanity-checking what your backend sees, debugging tracking links, or pasting a URL with non-ASCII characters into a tool that can't handle them.

How to use it

  1. Pick encode or decode. The mode dropdown switches direction; results update live.
  2. Choose the scope. Query parameter escapes everything special; Full URI preserves URL syntax like / ? & =.
  3. Paste your input. Encoded output appears instantly; malformed input like a lone % shows an error.
  4. Copy the result. Everything runs locally — the URL never touches a server.

Frequently asked questions

When do I use encodeURI vs encodeURIComponent?
encodeURI for full URLs (preserves : / ? = &). encodeURIComponent for a single value inside a query string (escapes everything special). Pick the wrong one and you'll over- or under-encode.
Why does my URL look 'double-encoded'?
Probably already partially encoded. Decode first to get the original, then re-encode if needed.
Is my URL uploaded?
No. Encoding runs in your browser, no network involved.
Does it handle Unicode?
Yes. Both encodeURI and encodeURIComponent encode multi-byte UTF-8 sequences.
Saved