URL Encoder / Decoder

Encode or decode links and query values, and see every parameter in a URL decoded.

Runs in your browserNo sign-up required
Encoded

One value encodes everything, including & ? / : # = — use it for a single value going into a query string. Whole URL keeps : / ? # & = so the address still works — use it for a complete link that contains spaces or accents.

Two Kinds of URL Encoding, Not One

Most URL encoders only offer one encoding method, which quietly breaks results half the time — encoding a full address the same way you'd encode a single query value (or vice versa) produces either a broken link or an unescaped value that corrupts the query string it's inserted into. This tool makes the distinction explicit, so you pick the right one for what you're actually encoding.

How to Use This Tool

  1. 1Choose Encode or DecodeEncode plain text into a URL-safe form, or decode an already-encoded string back to plain text.
  2. 2Pick Component or Full URIComponent for a single value going inside a query string; Full URI for an entire address.
  3. 3Paste your textThe result updates instantly on the right.
  4. 4Copy the resultOne click copies the output to your clipboard.

Component vs Full URI — What Actually Differs

  1. 1Component encoding escapes everything, including URL-structural charactersCharacters like & ? / : # are encoded too, since a component is meant to be one value inside a larger URL — if it contained a literal & or ?, it would be misread as starting a new query parameter.
  2. 2Full URI encoding leaves structural characters aloneIt only encodes characters that are genuinely invalid in a URL (like spaces), while leaving : / ? # untouched, since those characters are what makes the string a valid, navigable address in the first place.
  3. 3Using the wrong one is a common, quiet bugEncoding a full URL with component encoding turns https://example.com into a broken, entirely-escaped string. Encoding a single query value with full-URI encoding leaves characters like & unescaped, which can break the query string it's inserted into.

Frequently Asked Questions

What's the difference between encodeURIComponent and encodeURI?

`encodeURIComponent` (this tool's "Component" mode) escapes every character that isn't safe in a single URL segment, including & ? / : # — appropriate for one value going into a query string. `encodeURI` ("Full URI" mode) preserves those structural characters since it's meant to encode an entire, already-structured URL.

Why did encoding my full URL turn the whole thing into %-codes?

That happens when component encoding is used on a full URL — it escapes the `://`, `/`, and `?` that are supposed to stay intact. Switch to Full URI mode when encoding a complete address rather than a single parameter value.

Why does decoding sometimes show an error?

This usually means the input contains a `%` that isn't followed by two valid hexadecimal digits, which isn't decodable — often the result of pasting text that was never actually URL-encoded in the first place.

Is my text sent anywhere when I use this tool?

No — encoding and decoding both use JavaScript's built-in functions and run entirely in your browser. Nothing you type here is transmitted anywhere.

Can I use this to build a query string with multiple parameters?

This tool encodes one value at a time — encode each parameter value individually (Component mode), then join them yourself as `key1=value1&key2=value2`.

Is this URL encoder free to use?

Yes, completely free, with no sign-up and no length limit.