URL Encode / Decode
Percent-encode and decode URLs or query parameters with proper UTF-8 handling.
How to use URL Encode / Decode
Percent-encode text for safe use in a URL, or decode an encoded string back to plain text. Switch between <code>component</code> mode for individual query values and <code>full uri</code> mode for a complete, already-structured URL.
- 01Type or paste your text or URL into the input panel.
- 02Pick encode or decode, then choose component or full uri scope.
- 03Copy the result — spaces become
%20, and reserved characters are escaped where appropriate.
tips
- —Use component for query parameter values; it encodes everything except letters, digits and
- _ . ~. - —Use full uri for a whole URL so reserved characters like
: / ? #survive intact. - —In form-encoded data spaces appear as
+; in URLs and this tool they appear as%20.
frequently asked
What is URL encoding (percent-encoding)?+
URL encoding replaces unsafe or non-ASCII characters with a % followed by two hex digits, so they can be safely transmitted in a URL. For example, a space becomes %20 and / becomes %2F.
encodeURI vs encodeURIComponent — which one should I use?+
Use encodeURIComponent for individual query parameter values — it encodes everything except A–Z, a–z, 0–9, - _ . ~ ! * ‘ ( ). Use encodeURI for a full URL that is already structured — it preserves reserved characters like : / ? # & = so the URL stays valid.
Why does space become %20 in one place and + in another?+
In the query string specifically (application/x-www-form-urlencoded), spaces are encoded as +. In the path or with encodeURIComponent, spaces are %20. This tool uses %20 (the RFC 3986 standard). If you need + for form data, replace %20 with + afterwards.
Is this tool free?+
Yes. All encoding and decoding happens in your browser — nothing is uploaded.