URL Encoder / Decoder
Percent-encode text for URLs, or decode an encoded URL back to plain text.
About the URL Encoder / Decoder
URLs can only carry a limited set of characters. Spaces, ampersands, question marks, non-English characters — anything outside that set must be percent-encoded (a space becomes %20, an ampersand %26) or the URL breaks in transit: query parameters get split in the wrong places, links in emails stop working, APIs reject requests. This tool encodes text safely for use in URLs, and decodes encoded URLs back into something a human can read.
The component/full-URI distinction is the part everyone gets wrong once. Component mode encodes every reserved character including &, = and / — exactly what you want when inserting a value into a query string, so that "Tom & Jerry" becomes Tom%20%26%20Jerry instead of accidentally terminating the parameter at the &. Full-URI mode leaves the structural characters (:, /, ?, &) intact — what you want when encoding a complete URL that must keep its shape while fixing spaces and unicode. Encoding a whole URL in component mode mangles it; encoding a query value in URI mode leaves dangerous characters unescaped.
Decoding is just as useful in daily work: unwrapping tracking-laden links from marketing emails to see the real destination, reading the parameters buried in an OAuth redirect, or turning a logged request URL back into legible text. Everything runs locally in your browser, and malformed input (a stray % not followed by two hex digits) produces a clear error instead of silent corruption.
Frequently asked questions
- When do I use component vs full-URI mode?
- Component mode when encoding a single value going into a query string (it encodes &, =, / too). Full-URI mode when encoding a complete URL that must keep its structure. Rule of thumb: values → component, whole URLs → URI.
- Why does a space sometimes appear as + instead of %20?
- The + convention comes from the older form-encoding format used in HTML form submissions. Modern percent-encoding uses %20. Most servers accept both in query strings, but %20 is the safe universal choice.
- Why did decoding fail?
- The input contains a % that isn't followed by two hexadecimal digits — usually a URL that was already partially decoded or hand-edited. Fix or remove the stray % and decode again.
Related tools
Convert text to base64 and back — Unicode-safe, in your browser.
HTML Entity Encoder / DecoderEscape text for HTML, or decode &-style entities back to characters.
UTM Link BuilderBuild campaign URLs with utm_source, utm_medium and utm_campaign parameters.
URL Slug GeneratorTurn titles into clean, lowercase, SEO-friendly URL slugs — one per line.