Skip to content
TinyTools

URL Encoder / Decoder

Encode and decode URLs and query strings.

Component escapes everything including : / ? & — use it for one parameter value. Full URL keeps those intact so the address still works.

Everything is processed on your device. Nothing you upload or type is sent to a server, and nothing is stored.

URL Encoder / Decoder online

URLs can only carry a limited set of characters, so spaces, accents and symbols have to be percent-encoded. Paste a URL to make an encoded one readable, or encode a value before dropping it into a query string.

How to use url encoder / decoder

  1. Choose a direction

    Encode text for use in a URL, or decode an encoded URL back to plain text.

  2. Pick the scope

    Component encoding is for a single value, such as one query parameter. Full URL encoding preserves the structural characters like : / ? & so the address still works.

  3. Copy the result

    The output updates as you type.

Frequently asked questions

What is the difference between the two encoding modes?

Component encoding escapes everything that is not a plain character, including : / ? & = — correct when the text is one parameter value. Full URL encoding leaves those alone so the address keeps working, which is what you want for a whole link.

Why does a space become %20 sometimes and + other times?

Both appear in the wild. %20 is correct percent-encoding and always safe. The + form comes from HTML form submissions and is only valid in a query string — never in a path. This tool produces %20.

Why does decoding fail with an error?

A percent sign must be followed by exactly two hexadecimal digits. A literal % in the text — as in "50% off" — breaks decoding, because it should have been encoded as %25.

Should I encode the whole URL?

No. Encoding a complete URL in component mode turns its slashes and question marks into escape sequences and the link stops working. Encode the individual values, then assemble the URL.

Is my input sent anywhere?

No. Everything is processed in your browser.