Encode and decode URLs instantly with our free online tool. Convert special characters, spaces, and non-ASCII text into valid percent-encoded URL format — or decode them back to readable text.
URL encoding, also known as percent-encoding, is a mechanism defined by RFC 3986 for representing characters in a Uniform Resource Identifier (URI). URLs can only contain a limited set of ASCII characters — letters, digits, and a few special symbols. Any character outside this set must be encoded before it can be safely included in a URL.
Characters are divided into unreserved characters (A-Z, a-z, 0-9, -, _, ., ~) that can appear in a URL without encoding, and reserved characters (such as :, /, ?, #, @, &, =) that carry special meaning in URL syntax. When reserved characters need to be used as literal data rather than delimiters, they must be percent-encoded as %XX, where XX is the two-digit hexadecimal representation of the character's byte value.
Switch between encoding and decoding modes. Convert raw URLs into percent-encoded strings or decode them back to readable text.
Results update instantly as you type. No submit buttons or page reloads — conversion happens live in your browser.
Use encodeURIComponent-style encoding for individual parameters, ensuring query strings are properly escaped.
Correctly encodes spaces, ampersands, hash symbols, and all reserved characters so URLs remain valid across browsers.
Handle complex query strings with multiple key-value pairs while preserving URL structure and separators.
Copy encoded or decoded results to your clipboard instantly, or download as a text file for your workflow.
Enter any URL, query string, or plain text that contains special characters into the input field. The tool accepts full URLs, individual parameters, or raw text.
Select whether you want to encode special characters into percent-encoded format, or decode an already-encoded URL back into readable text.
The output appears instantly. Copy the result to your clipboard or download it as a file to use in your application, API request, or browser address bar.
These characters have special meaning in URL syntax and must be percent-encoded when used as literal data.
| Character | Encoded | Description |
|---|---|---|
| Space | %20 | Whitespace separator |
| ! | %21 | Exclamation mark |
| # | %23 | Fragment identifier |
| $ | %24 | Dollar sign |
| & | %26 | Query separator |
| ' | %27 | Apostrophe |
| ( | %28 | Opening parenthesis |
| ) | %29 | Closing parenthesis |
| * | %2A | Asterisk |
| + | %2B | Plus sign |
| , | %2C | Comma |
| / | %2F | Path separator |
| : | %3A | Scheme separator |
| ; | %3B | Parameter delimiter |
| = | %3D | Key-value separator |
| ? | %3F | Query string start |
| @ | %40 | User info separator |
URLs are transmitted over protocols that only support a limited set of ASCII characters. Characters like spaces, ampersands, and non-Latin scripts cannot appear in a URL directly. Encoding converts them into a safe percent-encoded format that all web servers and browsers can interpret consistently.
encodeURI encodes a full URI while preserving characters that have structural meaning (such as ://?#&=). encodeURIComponent encodes everything except unreserved characters, making it ideal for encoding individual query parameter values where those reserved characters should be treated as literal data.
%20 is the percent-encoded representation of a space character. Since spaces are not allowed in URLs, they are replaced with %20 (the hexadecimal value of the space character's ASCII code, which is 32 in decimal or 20 in hex). You may also see the + symbol used to represent spaces in query strings.
In most cases you should only encode the parameter values, not the entire URL. Encoding the full URL would escape structural characters like :// and / that are needed for the URL to function. Use encodeURIComponent on individual values and encodeURI only when you need to sanitize a complete URI.
Identify which parts of the URL contain user-supplied or dynamic data, then apply percent-encoding to those segments. Use JavaScript's built-in encodeURIComponent function for individual parameter values, or paste the text into our tool to encode it automatically. Always decode on the receiving end to restore the original characters.
Convert titles into clean, SEO-friendly URL slugs with bulk one-per-line input.
Generate SEO meta, Open Graph, and Twitter Card tags with live previews.
Format, validate, and beautify JSON data with syntax highlighting.
Encrypt and decrypt text using AES encryption algorithm.