Always encode values, never full URLs in API construction
When building API request URLs in code, encode each parameter value individually with encodeURIComponent, then assemble the URL. Never pass the complete URL through an encoder after building it — that double-encodes values that were already correctly encoded. The pattern: const url = base + '?q=' + encodeURIComponent(query) + '&lang=' + encodeURIComponent(lang).
Decode OAuth redirect URLs to understand them
OAuth 2.0 redirect URLs are notoriously complex and often deeply nested — a redirect_uri parameter that is itself a URL, which may contain its own query parameters. Paste the entire OAuth URL into the decoder to see the structure clearly, then decode specific parameter values to read their content. This is essential when debugging OAuth flows.
The + vs %20 distinction for spaces
In query strings (the part after ?), a space can be encoded as either + or %20. The + encoding comes from the HTML form submission standard (application/x-www-form-urlencoded). The %20 encoding comes from RFC 3986 percent-encoding. Both are valid in query strings and most servers accept either. In URL paths (before the ?), only %20 is valid — a + in a path is treated as a literal plus sign, not a space.
Non-ASCII characters in modern URLs
Modern browsers display internationalised domain names (IDN) and Unicode paths in the address bar without percent-encoding, but the actual HTTP request uses encoded ASCII. A URL like https://例え.jp/日本語 is transmitted as https://xn--r8jz45g.jp/%E6%97%A5%E6%9C%AC%E8%AA%9E. Use the encoder to see the wire-level representation of any Unicode URL, useful for debugging CDN configurations and nginx rules.
Use the reference table to spot-check encodings
The character reference panel in the tool shows the most commonly encoded characters. Before encoding a long string, scan the reference to identify which characters in your string will be encoded and verify the expected output. This prevents surprises when a colon (:) in a value becomes %3A and breaks pattern matching in your server code.