URL Encode / Decode Tool

Encode full URLs, decode callback links, and escape query parameter values without losing the structure of the original request.

URL Encode / Decode Workbench
Try a real URL encoding workflow
What is URL Encoding?

URL encoding, also known as percent-encoding, converts spaces, unicode, and reserved characters into a transport-safe format. Use it when a browser URL, redirect_uri, API query value, or copied callback link must survive transit without changing meaning.

How URL Encoding Works

Use full-URL encoding when you want to keep separators like :, /, ?, &, and = readable inside one complete link. Use component encoding when a single value must live inside a query parameter, redirect target, or nested callback URL.

Common Use Cases
  • Encoding redirect_uri, state, and search values before an auth or API request leaves your app
  • Decoding copied callback links from logs, support tickets, or browser history
  • Building API request URLs without breaking separators in the base endpoint
  • Escaping email addresses, nested URLs, and plus signs inside one query value
  • Checking unicode and spaces before you paste a URL into docs or code
Examples
Input: redirect_uri=https://app.example.com/callback?next=/settings
Output: redirect_uri=https%3A%2F%2Fapp.example.com%2Fcallback%3Fnext%3D%2Fsettings
Input: https://app.example.com/callback?next=%2Fsettings%3Ftab%3Dprofile
Output: https://app.example.com/callback?next=/settings?tab=profile
Input: email=dev+alerts@example.com
Output: email=dev%2Balerts%40example.com
Frequently Asked Questions

When should I encode a full URL instead of one parameter value?

Encode a full URL when you want one complete link to stay readable and keep separators like ?, &, and = intact. Encode one parameter value when the data must fit inside a single key=value pair such as redirect_uri, state, or a search query.

What's the difference between encodeURI and encodeURIComponent?

encodeURI preserves structural URL characters like :, /, ?, and # for a complete link. encodeURIComponent escapes those reserved characters too, which makes it the safer choice for query parameter values, nested URLs, and copied callback targets.