Overview
URLs look simple until you try to put real language in one. A link can safely contain letters, digits and a modest set of punctuation; the moment a value includes a space, an ampersand, a question mark or a letter from a non-Latin script, the address becomes ambiguous. Percent-encoding settles the question before the link breaks.
This page does the job live, in both directions. Full URL mode protects only the characters that would be unsafe anywhere, while leaving the structure of the address — its slashes, question mark and parameter separators — exactly as written. Component mode is stricter: it is meant for a single value destined to sit inside a URL, so it also encodes the structural characters, ensuring the value cannot leak out and reshape the link around it.
What is percent-encoding?
Percent-encoding rewrites a character as a percent sign followed by two hexadecimal digits — the character's byte value, in other words. A space becomes %20, an ampersand becomes %26, and characters outside the Latin alphabet take more room: they are first written as UTF-8, and then each of their bytes gets its own percent code, which is why a single non-Latin character can appear as a run of three codes in a link.
The reason for the fuss is that many characters already have jobs inside a URL. The question mark starts the query string, the ampersand separates parameters, the equals sign binds a name to a value, and the hash marks a fragment. Encoding the data copies removes the ambiguity while keeping the address as plain, shareable text.
Features
- Three modes in one place — full-URL encoding, single-component encoding and decoding, switched with a single control.
- Live results — the output refreshes on every keystroke and every mode change; there is no button to remember.
- The real browser functions — encoding uses the same standard operations your own applications would, so results match what servers expect.
- UTF-8 correct — names, places and sentences in any script encode byte-by-byte the way the specification requires.
- A forgiving decoder — if strict component decoding trips on a malformed sequence, the tool falls back to a gentler full-URL decode and tells you it did.
- Reference table built in — the percent codes for the characters people look up most are listed below, no second tab required.
- Nothing uploaded — the conversion runs in this page, so even links containing private parameters stay on your machine.
Benefits
- Links that survive the journey — an encoded address means the same thing in an email, a document and a browser bar.
- No more swallowed parameters — values containing &, = or ? arrive whole instead of splitting your query string apart.
- Readable again on demand — decode a forbidding wall of percent signs back into the words a human actually typed.
- Fewer production mysteries — half of 'the link works for me' bugs turn out to be an unencoded character; this removes the guesswork.
Who can use it
Developers use an encoder while building API calls and debugging why a request arrived with its parameters scrambled. Marketers use it when assembling campaign links with tracking values. Writers and support staff use the decoder to read shared links before forwarding them, so they know what they are passing on.
How to use
- Pick the mode. A whole address you intend to keep as a link: Full URL. One value going inside a link, such as a search term: Component. Encoded text you want to read: Decode.
- Type or paste into the box — the result updates as you go.
- Check the status line; if decoding had to fall back to the gentler method, it says so.
- Copy the result and use it wherever the link is headed.
- When in doubt between the two encode modes, choose Component for values and Full URL for finished addresses.
Frequently asked questions
What is the difference between Full URL and Component mode?
Intent. Full URL mode assumes the text is a finished address whose structure should survive: slashes, the question mark and parameter separators are left alone. Component mode assumes the text is a single value going inside a URL, so it encodes the structural characters too — preventing the value from leaking out and reshaping the link around it.
Why is a space sometimes %20 and sometimes a plus sign?
A plus sign means a space only inside form-style query strings, which is a narrower convention. %20 is the general, always-safe encoding for a space anywhere in a URL. When in doubt, %20 is the one that cannot be misread.
Why do non-Latin characters become such long codes?
Because each character is first written as UTF-8 bytes, and every byte gets its own percent code. A single character from a non-Latin script commonly needs three bytes, so it appears as three codes in a row. The address still works exactly the same.
Should I encode the whole URL or just the values?
Just the values, with Component mode — that is the common case, for example a search term or a name going into a query parameter. Use Full URL mode only when you have a complete address that might contain a stray unsafe character somewhere.
Can I decode only part of a URL?
Yes. Paste whatever fragment you have; the decoder handles partial addresses, and if the strict component decode trips on a malformed sequence it falls back to the gentler full-URL decode and tells you it did.
Is anything I paste sent anywhere?
No. The conversion runs entirely in this page, so links containing tokens, signed URLs or private parameters stay on your machine.
Conclusion
A link should mean the same thing everywhere it travels. Encode values so they cannot break the address around them, decode walls of percent signs back into words — live, and entirely on your device.