Encode / Decode
URL Encode
Encode and decode URL components or full URLs.
Component mode escapes reserved URL characters. Full URL mode preserves URL separators like ://, ?, and &.
About URL Encode
URL Encode converts text to safe URL components and decodes encoded strings back into readable form for query strings, redirects, and API debugging.
Common uses
- Encode query parameter values that contain spaces or symbols.
- Decode a copied callback URL before troubleshooting it.
- Compare full URL encoding with component-level encoding.
Good to know
Encode individual query values separately when possible. Encoding an entire URL can produce different results than encoding one component.
Component versus full URL encoding
Encode individual query values whenever possible. Encoding an entire URL can escape separators such as colons, slashes, question marks, and ampersands that the final URL parser needs to understand.
Debugging redirects and callbacks
Decode copied URLs before reviewing OAuth callbacks, webhook endpoints, and tracking parameters. Seeing each parameter clearly helps reveal duplicated keys or values placed in the wrong component.
Common mistakes
A plus sign can mean a literal plus or a space depending on the form encoding context. Check what the receiving system expects before changing encoded values.
Worked example: Preparing one query-string value
release notes & fixes
release%20notes%20%26%20fixes
The ampersand is encoded because an unescaped ampersand would start another query parameter. Encode values independently instead of encoding the separators in a complete URL.
Technical reference
The behavior described on this page was reviewed against WHATWG URL Standard. External standards remain authoritative when their requirements differ from a browser implementation.
Before you rely on the output
- Check whether the source expects a full document, a URL component, bytes, Unicode text, or another encoding boundary before copying the result.
- Privacy mode: inputs are processed locally in your browser and are not intentionally sent to an application server.
