ToolWren logo ToolWren
ToolWrenEncoding › URL

URL Encoder & Decoder

Percent-encode characters that aren't allowed in URLs, or decode an encoded query string back to readable text.

100% client-side · nothing is uploaded

Loading tool…

Quick answer

URL is a free, private online tool that lets you percent-encode text for safe use in URLs, or decode an encoded URL component. It runs entirely in your browser, so nothing you enter is uploaded to a server.

How to use the URL

  1. Choose the mode you need with the Encode / Decode toggle at the top of the tool.
  2. Type or paste your text into the Input box — the result appears instantly as you type.
  3. Use Swap (⇅) to move the output back into the input and flip the mode, which is handy for round-trips.
  4. Click Copy to copy the result, or Clear to start over.

Privacy: this tool runs entirely in your browser. Your input is never sent to, received by, or stored on any server — there are no uploads and no tracking of what you enter.

About URL

What is URL encoding?

URL (percent) encoding replaces unsafe or reserved characters in a URL with a % followed by two hexadecimal digits. For example a space becomes %20 and an ampersand becomes %26. This keeps URLs unambiguous when they travel across the web.

Reserved vs. unreserved characters

Unreserved characters (letters, digits, - _ . ~) are never encoded. Reserved characters such as ? & = # / have special meaning in a URL and must be encoded when used as literal data inside a query value.

encodeURIComponent vs encodeURI

This tool uses encodeURIComponent, which encodes characters like &, = and ? — ideal for individual query-string values. Use it on each parameter, not on a whole URL.

Frequently asked questions

What's the difference between encoding a full URL and a component?
Encode each query-string value separately. Encoding a whole URL would wrongly escape the ://, ? and & that give the URL its structure.
Why is a space sometimes %20 and sometimes +?
In the path, spaces become %20. In old form submissions (application/x-www-form-urlencoded) they become +. This decoder treats + as a space.
Is it safe to paste sensitive URLs here?
Yes — processing is 100% local in your browser; nothing leaves your device.

Understanding URL in depth

What URL encoding is

URL (or percent) encoding is the mechanism that lets arbitrary text live safely inside a web address. URLs are only allowed to contain a limited set of characters, and several of those — like ?, &, =, # and space — have special structural meaning. Percent-encoding replaces any unsafe or reserved character with a % followed by its two-digit hexadecimal byte value, so a space becomes %20 and an ampersand becomes %26.

Reserved versus unreserved characters

The URL standard (RFC 3986) splits characters into groups. Unreserved characters — letters, digits and - _ . ~ — never need encoding. Reserved characters such as / ? # [ ] @ ! $ & ' ( ) * + , ; = are legal but carry structural meaning, so they must be encoded when used as literal data inside a value rather than as delimiters. Everything else (spaces, accented letters, emoji) is always encoded.

encodeURIComponent versus encodeURI

JavaScript offers two functions and choosing wrongly causes subtle bugs. encodeURIComponent encodes nearly everything, including &, = and ? — use it on individual query-string values. encodeURI leaves URL-structural characters intact — use it only on a whole URL you do not want to break. This tool uses component-level encoding, which is what you want when building ?key=value pairs by hand.

How UTF-8 fits in

Modern URLs encode non-ASCII text as its UTF-8 bytes, each byte percent-encoded. So 'é' becomes %C3%A9 (two bytes) and an emoji becomes four percent-encoded bytes. Decoding reverses this, reassembling the UTF-8 bytes into the original characters. That is why pasting a 'messy-looking' encoded URL here returns clean, readable text.

The plus-sign quirk

In the path portion of a URL a space is %20, but in old HTML form submissions (the application/x-www-form-urlencoded type) a space is encoded as +. This historical inconsistency trips up many developers. When decoding, this tool treats a literal + as a space, matching how form data is interpreted, so query strings copied from forms decode correctly.

Everyday uses

You will reach for URL encoding whenever you build links with dynamic values, pass JSON or redirect URLs as query parameters, construct API requests by hand, or debug why a link 'breaks' after an ampersand. Because the whole process runs locally in your browser, it is safe to decode URLs that contain tokens or personal data.

Related & complementary tools

More Encoding tools