Why Do URLs Have %20?
Have you ever noticed that when you search for "study planner tools" on a website, the URL in your browser changes to something like:
https://example.com/search?query=study%20planner%20tools
Why did the spaces turn into %20?
This is URL Encoding (also known as Percent-Encoding). URLs are designed to be universally readable across all operating systems, web servers, and internet routers. To guarantee this, the official URI specification dictates that URLs can only contain a very restricted set of characters. Here is a guide to how URL encoding works and how to manage query strings safely.
The Rules of URL Formatting
Characters in a URL are split into three distinct groups:
1. Unreserved Characters (Always Safe)
These characters are allowed anywhere in a URL without encoding:
- Alphanumeric characters (
A-Z,a-z,0-9) - Four safe formatting symbols (
-,_,.,~)
2. Reserved Characters (Functional Symbols)
These characters serve a specific structural purpose in a URL. For example, ? starts a query string, & separates parameters, and / separates directories.
- The Rule: If you want to use a reserved character as actual data inside a query parameter (e.g., searching for the term "study & work"), you MUST encode it so the browser doesn't mistake it for a structural parameter.
3. Excluded Characters (Unsafe)
Any character not in the ASCII set (like emojis, Arabic letters, or spaces) is strictly prohibited in raw URLs. They must be percent-encoded.
Common URL Encoding Mappings
| Character | Real Character | URL Percent-Encoded Value |
| :--- | :--- | :--- |
| Space | | %20 (or + in queries) |
| Ampersand | & | %26 |
| Equals | = | %3D |
| Question Mark | ? | %3F |
| Slash | / | %2F |
| Percent Symbol | % | %25 |
How to Encode URLs Safely
If you are developing a frontend application or building dynamic marketing redirect links, sending an unencoded query string will often break your application's routing.
To format your links safely, you can drop your parameters into our browser-based URL Encoder/Decoder.
Private Client-Side Parsing
Like all our utilities, the URL Encoder/Decoder runs entirely in your browser using local JavaScript. This is extremely important if you are debugging API queries that contain private client IDs, emails, or personal tracking tokens—no data is sent to external servers.
Native JavaScript Syntax
- Use
encodeURIComponent("study & work")to encode individual query values safely. - Use
decodeURIComponent("study%20%26%20work")to parse URL data back into human-readable text.
Conclusion
Understanding URL character boundaries prevents broken redirect parameters, parsing errors, and broken layouts. Keep your web routing secure, robust, and clean by validating your parameter strings with our local URL Encoder/Decoder.