Overview
URLs have a restricted alphabet, and everything outside it — spaces, accents, emoji, characters with structural jobs like ? and & — must be percent-encoded: turned into % followed by two hex digits. Get it wrong and links break, forms misbehave, and APIs reject requests with cryptic errors. This tool encodes correctly, in three modes for the three jobs encoding actually does.
Full-URL mode encodes an address while leaving its structure (? & = / :) intact; component mode encodes a single value aggressively, as query parameters require; decode reverses either. Results update on every keystroke, the encoder uses the browser's own standard functions, and a built-in table lists the codes people look up most.
What is percent-encoding?
Percent-encoding represents a byte as % plus its two-digit hexadecimal value: a space becomes %20, and é becomes %C3%A9 — two bytes in UTF-8, hence two codes. It exists because URLs were defined for a small ASCII subset while the web now speaks every script on Earth. Encoding is the bridge: the address stays valid ASCII while carrying any text.
The subtlety is what not to encode. In a full URL, ? separates the query and & separates parameters — encoding those would destroy the address's meaning. But inside a single parameter value, an & must be encoded or it becomes a separator. That is why two modes exist, and why using the wrong one is the classic bug.
Features
- Three modes — full URL, single component, and decode, behind one control.
- Live results — the output refreshes on every keystroke; no button to press.
- Real browser functions — the same operations your apps use, so output matches servers.
- UTF-8 correct — any script encodes byte-by-byte exactly as the spec requires.
- Forgiving decoder — falls back gently on malformed sequences and says so.
- Built-in reference table — the most-looked-up codes, with no second tab needed.
- Nothing uploaded — even URLs carrying private parameters stay local.
Benefits
- Stop breaking links. Encode values the way servers expect.
- Debug faster. Decode a mangled URL to see what was actually sent.
- Learn the codes. The table teaches while you work.
- Safe for secrets. Tokens in URLs never leave the page.
Who can use it
Developers building query strings and debugging API calls, marketers assembling tracked campaign links, support staff decoding what a user actually clicked, and students learning how the web represents non-ASCII text. Anyone who has pasted a link containing a space and watched it die knows why this page exists.
How to use
- Pick the mode: full URL, component, or decode.
- Paste or type the text.
- Read the live result underneath.
- For query values, always use component mode — never full-URL.
- Copy the result; check the reference table if a code looks unfamiliar.
Frequently asked questions
When do I use component mode instead of full-URL?
Whenever you encode a value that goes inside a URL rather than the URL itself — typically a query parameter. Full-URL mode preserves structural characters (? & = / :); component mode encodes them, because inside a value an & would otherwise split your parameter in two. Rule of thumb: encoding an address means full URL; encoding something to put in an address means component.
Why is a space sometimes %20 and sometimes +?
History. In query strings, the ancient form-encoding convention writes spaces as +; everywhere else %20 is correct. Modern component encoding produces %20, which servers universally accept. If an old system demands +, that is a quirk of that system, not the standard.
My decoded text shows replacement characters. Why?
The bytes do not form valid UTF-8 — usually because the text was encoded with a different charset long ago, or the encoded string was truncated mid-character. The tool decodes what it can and flags the problem rather than silently inventing characters.
Should I encode a whole URL copied from the address bar?
Almost never — the address bar already gives you a valid URL. Encoding it again double-encodes the % signs (% becomes %25) and breaks the link. Encode only the parts you construct yourself, typically parameter values.
Is my URL uploaded?
No. Encoding is local arithmetic; URLs — including ones with private tokens — never leave your browser.
Conclusion
Percent-encoding is small, exact, and easy to get subtly wrong — usually by encoding with the wrong mode. Pick full-URL for addresses and component mode for the values inside them, let the live result confirm each keystroke, and your links will survive spaces, accents and every script on Earth.