URL Encoder & Decoder
Percent-encode text so it is safe inside a URL, or decode an encoded string back to plain text. Runs entirely in your browser.
โ 100% Freeโ No Signupโ No Watermarkโ Unlimited Use
Encode and Decode URLs the Right Way
A URL can only contain a limited set of characters. Spaces, accents, and symbols like &, ?, and # have special meaning or are not allowed, so they get rewritten as percent-encoding (the %20 you see for a space). This free URL encoder and decoder converts either direction so links, query strings, and API parameters never break.
Pick Component mode to encode a single value like a search term or a parameter, where every special character should be escaped. Pick Full URL mode to encode a whole address while keeping the structure characters (: / ? & =) intact.
Everything runs in your browser, so your links and data are never uploaded.
How to Use the URL Encoder / Decoder
- 1Paste your text, value, or URL into the box.
- 2Choose Component mode for a single value, or Full URL mode for a whole address.
- 3Click Encode to percent-encode it, or Decode to reverse it.
- 4Copy the result, or use it as input to convert again.
Why Use MakeToolz's URL Encoder / Decoder?
Two modes
Component encoding for single values, full-URL encoding that preserves the address structure.
Both directions
Encode plain text to percent-encoding, or decode it back, in one tool.
Full UTF-8
Emoji and accented characters encode and decode correctly.
Clear errors
Invalid percent-encoding gives a helpful message instead of a silent failure.
Private
Runs entirely in your browser; nothing you paste is transmitted.
Free
No signup, no limits.
What Percent-Encoding Is and Why URLs Need It
A URL can only use a limited set of characters. Spaces, accents, and symbols like &, ?, #, and = are either not allowed or already have a job inside the address. Percent-encoding is the standard fix: it rewrites an unsafe character as a percent sign followed by its two-digit hex code, which is why a space becomes %20. This keeps links, query strings, and API parameters valid so browsers and servers read them the same way. This tool percent-encodes text either direction and offers two modes so you encode at the right level.
Who Needs URL Encoding, and When
Developers encode values before dropping them into a query string, so a search term like "black & white" does not break the URL at the &. They decode incoming parameters to read what a user actually submitted. Marketers encode UTM tags and tracking values so campaign links survive email clients and redirects. Anyone building an API request, sharing a link with special characters, or debugging why a URL returns the wrong data needs encoding. The rule of thumb: encode any value the moment it might contain a space, an accent, or a reserved symbol.
Component vs Full URL: How the Two Modes Work
Component mode escapes everything, including the structural characters : / ? & =. Use it for a single value, such as the text after ?q=, where those symbols must be treated as literal data, not URL structure. It matches the behavior of encodeURIComponent. Full URL mode leaves the structural characters intact so a whole address stays a working address, matching encodeURI. Picking the wrong one is the classic bug: encode a full URL with Component mode and its slashes and question mark get escaped, turning a valid link into unusable text.
Reserved Characters and Their Codes
| Character | Percent code | Role in a URL |
|---|---|---|
| space | %20 | Not allowed raw |
| & | %26 | Separates query parameters |
| ? | %3F | Starts the query string |
| # | %23 | Starts the fragment |
| = | %3D | Joins a key to its value |
| / | %2F | Separates path segments |
| + | %2B | Can mean a space in forms |
How UTF-8 and Percent-Encoding Combine
Percent-encoding only knows bytes, so before a non-English character can be encoded it is first turned into UTF-8 bytes, then each byte becomes its own %XX code. An accented e, for example, is two bytes in UTF-8, so it encodes to two percent codes, and an emoji becomes four. This tool handles that conversion for you, so accents, non-Latin scripts, and emoji encode and decode back perfectly. The percent codes in a URL are close cousins of the hex values you see in a number base converter, since both express bytes in base 16.
Benefits, Limits, and Related Encoding
The benefits are correctness and safety: two modes cover both single values and whole URLs, both directions are one click, and everything runs locally so your links are never uploaded. The limits: percent-encoding does not compress or secure data, it only makes it URL-safe, and the plus-sign ambiguity means a + can mean either a literal plus or a space depending on the system reading it. For data meant for headers or JSON rather than URLs, the Base64 encoder and decoder is the right choice, since it follows a completely different scheme.
Common Mistakes and Tips
The top mistake is double-encoding: encoding a value that was already encoded, which turns %20 into %2520 and breaks the link. Decode once to check before you encode again. The second is using Full URL mode on a single query value, which leaves & and = unescaped and lets a user's input smuggle in extra parameters. Tip: when in doubt for a single value, use Component mode, since over-escaping a value is safe while under-escaping it is a bug. Tip: if decoding fails, look for a lone % that is not followed by two hex digits, which is the usual culprit.
People Also Ask
What does %20 mean in a URL?
%20 is the percent-encoded form of a space. Spaces are not allowed directly in a URL, so they are replaced with %20 to keep the link valid. Decoding %20 gives you back a normal space.
What is the difference between encodeURI and encodeURIComponent?
encodeURI (Full URL mode) keeps structural characters like : / ? & = so a whole address still works. encodeURIComponent (Component mode) escapes those too, which is what you want for a single value inside a query string.
Why do I sometimes see a plus sign instead of %20 for a space?
Older HTML form submissions encode spaces as plus signs, while the modern standard for the path and query is %20. This tool uses %20, the safe choice that every server understands the same way.
What are reserved characters in a URL?
Reserved characters like : / ? # [ ] @ & = have special meaning in a URL's structure. When you want them treated as plain data instead, they must be percent-encoded so they are not mistaken for structure.
What is double-encoding and how do I avoid it?
Double-encoding is encoding a string that was already encoded, turning a % into %25. Avoid it by decoding a value first to confirm its true state, then encoding it exactly once before putting it in a URL.
Do I need to encode a full URL or just its parameters?
Usually just the parameter values. Encode each value with Component mode so special characters inside it stay data. Only use Full URL mode when you must clean an entire address while keeping its structure working.
Is URL encoding a form of security?
No. Percent-encoding only makes characters safe to travel in a URL. It does not hide, protect, or scramble data, since anyone can decode it instantly. Use real encryption for anything that must stay private.
Frequently Asked Questions
What is URL encoding?
When should I use Component instead of Full URL mode?
Why does a space become %20 or a plus sign?
Is my data private?
Related Free Tools
More Encoders & Converters
HTML Encoder / DecoderText to Markdown ConverterHEX to RGB ConverterNumber Base ConverterRoman Numeral Converter