A space in a URL is usually encoded as %20, but in form-style query strings it may appear as +. That tiny difference is the source of a surprising number of broken links, because + can mean either a literal plus or a space depending on context.
If a value contains spaces or plus signs, test it with the URL Encode tool and inspect existing links with the URL Decode tool.
Should spaces in URLs be %20 or +?
Use %20 for spaces when you are encoding a general URL component such as a path segment, fragment, or strict query value. Use + only when you are working with application/x-www-form-urlencoded data, the format used by HTML forms and URLSearchParams.
Where does the plus sign rule come from?
The plus sign rule comes from HTML form encoding, not from the core URI percent-encoding rule. Form-encoded data replaces spaces with +, then percent-encodes reserved characters. That convention is common in query strings because GET forms put form data after ?.
Is + always decoded as a space?
No. A plus sign is decoded as a space only by form-style decoders in query strings or form bodies. In a URL path, fragment, or strict percent-decoding context, + is a literal plus sign and should not become a space.
How do I encode a literal plus sign?
Encode a literal plus sign as %2B when it appears inside a query value or any context where a form decoder may treat + as a space. This is especially important for email aliases, phone numbers, programming terms such as C++, and math expressions.
Why does C++ turn into C sometimes?
C++ turns into C when a form-style decoder treats each plus sign as a space. The fix is to encode the value before putting it in the URL: C%2B%2B. The URL Encode tool handles that conversion.
Which form is safer when I am unsure?
%20 is safer when you are unsure, because it is the standard percent-encoded representation of a space and works in every URL component. The + form is useful, but only when both producer and parser agree on form encoding.
How do I check which one a link uses?
Paste the suspicious part of the link into the URL Decode tool. If spaces appear only after replacing plus signs, you are probably looking at form-encoded query data rather than plain percent-encoded text.