Copied!
Encoding Tool

URL Encoder / Decoder

Encode or decode URLs and query strings using standard percent-encoding (RFC 3986). This free online URL encoder supports both encodeURIComponent and encodeURI modes, handles UTF-8 and Unicode characters, and lets you bulk-encode URL parameters. Paste any URL or text to instantly see the encoded or decoded result. All processing happens in your browser — nothing is uploaded to a server.

url-encoder.tool
0 characters
Output will appear here...

Frequently Asked Questions

What is the difference between encodeURI and encodeURIComponent?
encodeURI encodes a full URI but preserves characters that have special meaning in URLs — like : / / ? # [ ] @ ! $ & ' ( ) * + , ; =. encodeURIComponent encodes everything except unreserved characters (letters, digits, - _ . ~), making it the right choice for encoding individual query parameter values. Use encodeURIComponent for values inserted into a URL, and encodeURI for encoding a complete URL string.
Why do URLs need to be encoded?
URLs can only safely contain a limited set of ASCII characters as defined in RFC 3986. Special characters like spaces, &, =, ?, #, and non-ASCII characters (Unicode / UTF-8) must be percent-encoded to be safely transmitted. Without encoding, these characters would be misinterpreted as URL delimiters or cause parsing errors in browsers and servers.
How do I encode spaces in a URL — plus sign or %20?
Both are valid but in different contexts. %20 is the standard percent-encoding for spaces per RFC 3986 and works everywhere in a URL — path, query, fragment. The plus sign (+) represents a space only in application/x-www-form-urlencoded format, used in HTML form submissions and query strings. For general URL encoding, prefer %20. Use + only when building form-encoded POST bodies.
What is double encoding and how do I avoid it?
Double encoding happens when an already-encoded string is encoded again — for example, %20 becomes %2520 (the % itself gets encoded). This usually occurs when you pass a pre-encoded URL through an encoding function again. To avoid it: encode raw values before inserting them into the URL, never encode a complete URL that already contains percent-encoded characters, or decode first then re-encode once.
How do I URL encode non-ASCII and Unicode characters?
Non-ASCII characters (like é, ñ, 中文, العربية) are first converted to their UTF-8 byte representation, then each byte is percent-encoded. For example, the character é (U+00E9) becomes %C3%A9 in UTF-8. JavaScript's encodeURIComponent handles this automatically. This is the standard defined by RFC 3986 and IRI (RFC 3987).
Does URL encoding affect SEO?
Google can handle URL-encoded characters, but clean, human-readable URLs are preferred for SEO. Excessive percent-encoding makes URLs harder to read, share, and click on in search results. Best practices: use hyphens instead of spaces or underscores, avoid special characters in URL paths, use lowercase, and keep encoding to query parameters where it's actually necessary.