URL encode & decode

Escape or unescape URLs and query parameters instantly — component or full-URL, all in your browser.

Encode and decode URLs correctly

Links break when they contain spaces, ampersands, question marks or non-English characters. URL encoding replaces those with safe %-escapes so the address survives being shared, stored or passed as a parameter. This tool offers both modes: component encoding for a single query value, and full-URL encoding for a complete address.

Paste a messy, half-encoded link and decode it to read it, or encode a value before dropping it into a query string. Everything happens locally in your browser — nothing is uploaded.

How to use it

Pick Encode or Decode, choose component or full-URL mode, paste your text, and copy the result. Use component mode when you are building a single ?key=value pair from user input, and full-URL mode when you just want to clean up a complete link for sharing. Decoding turns %-escapes back into readable characters so you can inspect exactly what a tracking link or redirect actually contains.

Where URL encoding matters

Search queries, UTM tracking parameters, OAuth redirect URIs, API endpoints and analytics links all rely on correct percent-encoding to survive intact. If you are also assembling payloads or tokens, the Base64 encoder/decoder and JSON formatter are handy companions, and the full set lives on the developer tools page.

Frequently asked questions

What is the difference between component and full-URL encoding?
Component encoding (encodeURIComponent) escapes everything that is not safe in a single query value, including / ? & = and #. Full-URL encoding (encodeURI) leaves those structural characters intact so a complete address stays usable. Use component encoding for a single parameter value, full-URL for a whole link.
When do I need to URL-encode text?
Whenever you put spaces, &, ?, #, +, or non-English characters into a query string or link. Encoding turns them into safe %-escapes so the URL is not broken or misread.
Can it decode %20 and + back to spaces?
Yes. Decoding converts %-escapes such as %20 back to their original characters. Paste an encoded URL and click Decode.
Is anything uploaded?
No. Encoding and decoding run entirely in your browser, so your URLs and data stay private.
Why does a space become %20 sometimes and + other times?
In a path or with encodeURIComponent a space becomes %20, but in older form submissions (application/x-www-form-urlencoded) a space becomes a plus sign. Both decode back to a space; the context decides which encoding a system expects.
Should I encode the whole URL or just one parameter?
Encode only the individual value you are inserting into a query string. Encoding a whole URL with component encoding would escape the :// and ? characters and break it, which is why this tool keeps the two modes separate.
What characters are safe and never get encoded?
Unreserved characters — letters A–Z and a–z, digits 0–9, and the symbols - _ . ~ — are always left as-is. Everything else may be percent-encoded depending on the mode you choose.
Can I fix a double-encoded URL?
Yes. If you see sequences like %2520 (where %25 is an encoded percent sign), the URL was encoded twice. Decode it once to get %20, then decode again to recover the original space.

More free developer tools

Fast, private utilities that run entirely in your browser.

By Narender Chaudhary, Editorial & Product Lead · Updated June 2026

Join us on Telegram & WhatsApp for the latest updates