Encode whenever you build a URL from user-provided data — search queries, filter values, OAuth callbacks. JavaScript's encodeURIComponent handles query values; encodeURI handles whole URLs. Decoding is useful for debugging why a logged URL looks wrong or for reading opaque callback parameters. Don't double-encode: if your framework already encodes, applying it twice breaks everything.
Last updated: 2026-04-22