Percent-encoding without guesswork
URLs only allow a limited character set unescaped. Everything else must be percent-encoded.
encodeURI vs encodeURIComponent
- encodeURI — for full URLs; preserves
:,/,?,# - encodeURIComponent — for query parameter values; encodes more aggressively
Query string rules
Always encode parameter names and values separately. Never concatenate raw user input into a URL.
Try the URL Encoder / Decoder to verify edge cases like spaces, ampersands, and Unicode.