D

URL Encode / Decode

Encode and decode URL components and full URLs with percent-encoding, instantly.

Runs 100% in your browser — nothing is uploaded

About this tool

URL encoding (percent-encoding) converts characters that are not allowed or have special meaning in URLs into a % followed by two hex digits. This tool both encodes text into URL-safe format and decodes percent-encoded strings back to readable text.

There are two common URL encoding functions: encodeURIComponent encodes all characters except letters, digits, -, _, ., and ~. encodeURI encodes everything except characters that have special URL meaning (/:@!$&'()*+,;=). This tool supports both modes so you can handle component-level encoding (for query parameter values) and full-URL encoding separately.

All processing runs in your browser using standard JavaScript URL encoding APIs. No data is sent anywhere. Common use cases: debugging REST API requests with special characters, constructing query strings, handling filenames with spaces or Unicode in download URLs, and decoding percent-encoded strings received from web forms or logs.

Frequently asked questions

What is the difference between encodeURI and encodeURIComponent?
encodeURI is for encoding an entire URL — it preserves /, ?, &, =, and other structural characters. encodeURIComponent is for encoding individual values like query parameter values — it encodes those structural characters too, since they would break the URL structure if left unencoded.
Why is a space encoded as %20 or +?
Both are valid. %20 is the standard percent-encoding for a space. The + sign for spaces is a convention from HTML form encoding (application/x-www-form-urlencoded) and is only valid in query strings, not in path segments.
Can this decode a full URL from a browser address bar?
Yes. Paste the full URL — the tool will decode all percent-encoded sequences and show the human-readable form. Useful for understanding URLs with non-ASCII characters or complex query strings.