Hello World!Hello%20World%21[email protected]user%40example.comsearch?q=hello&lang=ensearch%3Fq%3Dhello%26lang%3DenEncode text to URL-safe format or decode URL-encoded strings. URL encoding (percent-encoding) converts special characters into a format safe for transmission in URLs, as defined in RFC 3986. URLs can only contain alphanumeric characters and a few safe symbols; all other characters must be encoded as %XX (where XX is the hexadecimal ASCII code). This is essential for query parameters, form data, and URI components.
Instantly encode and decode URL-safe strings with full support for special characters, emoji, and international text. 100% free, no registration, and complete privacy — everything runs locally in your browser, so your data never touches a server.
Switch between encode and decode modes to convert text to URL-safe format or reverse the process.
Handles emoji, CJK characters, accented letters, and all Unicode safely.
Copy encoded or decoded output directly to the clipboard.
Live character count for input and output shows encoding size impact.
URL Encoding Example
Original Text
hello world & special=charsOutput:
hello%20world%20%26%20special%3DcharsURL encoding (percent-encoding, RFC 3986) converts special characters into %XX format (XX = hex ASCII code) so they are safe to transmit in URLs. URLs can only contain unreserved characters (A–Z, a–z, 0–9, -, ., _, ~) and reserved delimiters. Spaces become %20, ampersands become %26, and so on. This ensures URLs are correctly parsed by servers and browsers.
Spaces, special symbols (&, =, #, ?, /, :, @, !, $, ', (, ), *, +, ,, ;), non-ASCII characters, and control characters must be encoded. Reserved characters (used for URL structure) like ?, #, &, = should be encoded if they are part of data rather than delimiters. Unreserved characters (A–Z, a–z, 0–9, -, ., _, ~) never need encoding.
encodeURI() encodes a full URL but leaves URL structure characters (/, :, ?, #) alone — use it for full URLs. encodeURIComponent() encodes EVERYTHING except unreserved chars — use it for query values, path segments, and form data. This tool uses encodeURIComponent, which is safe for individual components.
Use this tool to encode each query parameter value individually. For example, encode 'hello world' to get 'hello%20world', then construct your URL as 'https://example.com?search=hello%20world'. Never encode the ? or & delimiters — only the values.
Yes. Switch to Decode mode and paste the encoded string. The tool will decode %XX sequences back to their original characters. For example, 'hello%20world' decodes to 'hello world'.
Yes. This tool encodes emoji, CJK, and accented characters using UTF-8 first, then percent-encoding. For example, '🎉' encodes to '%F0%9F%8E%89'. When decoded, it reverses perfectly. This ensures international text is safe in URLs.
Encode and decode URL / percent-encoded text online, free. URL encoding (percent-encoding, defined by RFC 3986) replaces characters that aren't allowed in a URL with a % followed by their hex byte value — so a space becomes %20 and an ampersand becomes %26. This tool encodes text into a URL-safe form or decodes percent-encoded strings back to readable text, entirely in your browser.
Encoding and decoding run locally with the browser's own encodeURIComponent / decodeURIComponent, so multi-byte UTF-8 characters round-trip correctly and nothing is uploaded. 100% free, no registration, and complete privacy — everything runs locally in your browser, so your data never touches a server.
Convert text to percent-encoded form and back. Reserved characters (?, &, =, /, space, #) are escaped so they can't break a URL.
Non-ASCII characters are encoded as their UTF-8 byte sequence (e.g. é → %C3%A9), matching how browsers and servers expect them.
Results update immediately using the native encodeURIComponent/decodeURIComponent — no upload, no wait.
Your input is processed locally and never sent anywhere — safe for URLs containing tokens or query data.
URL encoding (percent-encoding) represents characters that have special meaning or aren't permitted in a URL using a % sign followed by their hexadecimal byte value. For example, a space becomes %20 and a slash becomes %2F. It keeps URLs valid and unambiguous.
encodeURIComponent escapes nearly everything that isn't a letter, digit, or a few safe symbols — use it for individual query values or path segments. encodeURI leaves characters that form a valid URL structure (like / ? : &) intact — use it for an entire URL. This tool uses encodeURIComponent so single values are fully escaped.
In the path and with encodeURIComponent, a space is %20. In the query string of HTML form submissions (application/x-www-form-urlencoded), a space is encoded as +. Both decode back to a space; %20 is the safer, more general choice.
Double-encoding happens when already-encoded text is encoded again, turning %20 into %2520. If your decoded output still shows % sequences, decode it a second time. Encode only once when building a URL.
No. Encoding and decoding happen entirely in your browser; nothing you paste is sent to a server.
We use cookies for analytics and personalized ads to help keep these tools free. Until you accept, ads stay non-personalized and analytics cookies are off. See our Privacy Policy.