Uniform Resource Identifiers (URIs) only permit a restricted subset of US-ASCII characters. Characters outside this set, or reserved characters used in non-standard positions, must be percent-encoded to prevent transmission errors in web APIs and web browsers.
Reserved vs Unreserved URI Characters
RFC 3986 divides URL characters into two distinct groups:
- Unreserved Characters (Never Encoded): Letters (
A-Z,a-z), digits (0-9), hyphen (-), underscore (_), period (.), and tilde (~). - Reserved Characters: Characters that have special syntactic meaning in a URL, such as
:,/,?,#,[,],@,!,$,&,',(,),*,+,,,;,=.
encodeURI() vs encodeURIComponent() in JavaScript
| Function | What It Encodes | Primary Use Case |
|---|---|---|
encodeURI() |
Preserves URL delimiters (: / ? # & =) |
Encoding a full valid URL containing spaces or Unicode. |
encodeURIComponent() |
Encodes ALL reserved characters into %XX |
Encoding query string parameter values (e.g. search queries). |
🛠️ Try the Free In-Browser Tool
Encode or decode complex URLs and query strings safely with our Client-Side URL Encoder.
Launch Tool Now →