The Invisible Problem That Breaks URLs
You copy a URL from your browser, paste it into an email, and send it. The recipient clicks the link and gets a 404 error. The URL worked perfectly on your screen. Something happened between copying and pasting that broke it.
Or you are building a web application that accepts a search query as a URL parameter. A user types “coffee & tea” into the search box. Your application sends the request to the server. The ampersand in the middle gets interpreted as a parameter separator. The server receives two broken parameters instead of one search query.
Both of these are URL encoding problems. They happen constantly in web development and are invisible until they break something. This tool fixes them in one click.
—Why URLs Cannot Contain Certain Characters
URLs were designed to contain only a specific set of characters: letters, numbers, and a small group of special characters including hyphens, underscores, periods, and tildes. Everything else is considered unsafe or reserved.
Reserved characters like &, =, ?, and # have specific meanings in URL structure. The ? marks the start of query parameters. The & separates multiple parameters. The # marks a page anchor. Using these characters inside the value of a parameter confuses the URL parser because it cannot tell the difference between a character that is part of the value and a character that has structural meaning.
Unsafe characters like spaces, quotes, angle brackets, and non-ASCII characters can cause problems in transmission. Different systems handle these characters differently, and some corrupt or drop them entirely.
URL encoding solves this by converting unsafe characters into a safe representation: a percent sign followed by the two-digit hexadecimal code for the character. A space becomes %20. An ampersand becomes %26. A forward slash becomes %2F.
Common Characters and Their URL Encoded Forms
These are the characters you will encounter most often when working with URLs:
Space → %20 — The most common encoding issue. Spaces are not valid in URLs. Some systems replace them with + signs in query strings, but %20 is the correct standard encoding.
& → %26 — Ampersands separate query parameters. If your value contains an ampersand, it must be encoded to prevent the parser from treating it as a parameter separator.
= → %3D — Equals signs separate parameter names from values. An equals sign inside a value must be encoded.
? → %3F — Question marks mark the start of the query string. Inside a value, they must be encoded.
/ → %2F — Forward slashes are path separators. Inside a parameter value, they must be encoded to prevent misinterpretation as a URL path segment.
# → %23 — Hash signs mark page anchors. Inside a parameter value, they must be encoded.
+ → %2B — Plus signs are sometimes used to represent spaces in query strings. To pass a literal plus sign in a value, it must be encoded as %2B.
—Three Real Scenarios Where This Tool Saves Time
Scenario One — Sharing Search Results
You search for “best coffee shops near me” on a website. The URL in your browser contains the raw search query with spaces and special characters. When you copy and share this URL, some email clients and messaging apps break it. Encoding the URL first converts all unsafe characters into their percent-encoded equivalents, creating a URL that survives being copied, pasted, and clicked across any platform.
Scenario Two — Building API Requests
You are constructing a URL to call an API endpoint with parameters that contain special characters. A date parameter like “2024-01-15 10:30:00” contains a space that needs to become %20. A filter parameter like “category=books&format=pdf” contains characters that would break the URL structure if not encoded. Paste the parameter value into this tool, encode it, and paste the safe result into your URL.
Scenario Three — Decoding a Messy URL
You receive a URL filled with percent-encoded characters that you need to read and understand. Something like search%3Fcoffee%20%26%20tea%3D%22dark+roast%22. Paste it into the decoder and instantly see the readable version: search?coffee & tea="dark roast". This is essential when debugging redirect URLs, tracking parameters, and API callback URLs.
URL Encoding vs Form Encoding — The Difference That Trips Developers
There are two related but different encoding standards that cause confusion:
URL encoding (percent encoding) encodes spaces as %20 and uses percent signs for all special characters. This is the standard for encoding values in URL paths and most query parameters.
Form encoding (application/x-www-form-urlencoded) encodes spaces as + signs instead of %20. This is the format used when HTML forms submit data using the POST method. The plus sign as a space replacement is specific to this format and should not be used in general URL encoding.
This distinction matters when debugging form submissions and API calls. If a value containing a space comes through as a + in your server logs, it was form encoded. If it comes through as %20, it was URL encoded. Both represent the same space character — they just come from different contexts.
—Frequently Asked Questions
What is the difference between URL encoding and Base64 encoding?
URL encoding makes text safe for use inside URLs by replacing special characters with percent-encoded sequences. Base64 encoding converts binary data into a text-safe format using 64 characters. They solve different problems — URL encoding is for URLs specifically, Base64 is for binary data transmission in text channels.
Should I encode the entire URL or just the parameter values?
Encode only the parameter values, not the entire URL. The structural parts of the URL — the protocol, domain, path separators, and the ? and & characters that separate parameters — must remain unencoded so the URL parser can read the structure correctly. Only the values passed inside parameters should be encoded.
Why do some URLs use + for spaces instead of %20?
The + sign for spaces comes from the HTML form encoding standard. It is technically only correct in the query string portion of a URL when the data was submitted by an HTML form. For general URL encoding, %20 is the correct representation of a space.
Does encoding a URL change what page it links to?
No. URL encoding only changes the representation of characters, not the meaning of the URL. An encoded URL and its decoded equivalent point to exactly the same resource. The server decodes the URL before processing the request.
Is this tool free?
Yes, completely free with no account required. All encoding and decoding happens in your browser with no data sent to any server.
—Encode Once. Never Debug a Broken URL Again.
URL encoding errors are one of those problems that wastes hours when you do not know what is causing them and takes five seconds to fix once you do. If a URL is breaking somewhere between your application and its destination, the answer is almost always an unencoded special character.
Paste the value in. Encode it. Put it back in the URL. Done.
