Skip to content
TinySolve

URL Encoder

Percent-encode text for a URL — with the right function for the job.

Runs in your browser — nothing you type is sent anywhere

What are you encoding?

Escapes everything, including : / ? # & = — right for a single parameter value, so a value containing an ampersand cannot split into two parameters.

Encoded

The result appears here as you type. Nothing is sent anywhere — the work happens in this page.

Everything happens in your browser. URLs frequently carry tokens, session identifiers and email addresses in their parameters, so nothing typed here is transmitted or logged.

About the URL Encoder

A URL can only contain a restricted set of characters. Everything else — spaces, accents, ampersands, anything non-Latin — has to be written as a percent escape, so a space becomes <code>%20</code> and an ampersand becomes <code>%26</code>.

The part that catches people out is that there are two different encodings, and choosing the wrong one produces a bug rather than an error. Encoding a whole address must leave the characters that give it structure alone — the colon, the slashes, the question mark, the ampersands between parameters — or it stops being an address. Encoding a single value inside that address must escape exactly those characters, or a value containing an ampersand splits into two parameters and quietly corrupts whatever receives it.

Both are offered here as a plain choice, with what each one does spelled out, rather than a single button that is right half the time. If you are encoding something to put after an <code>=</code> in a query string, you want the one that escapes everything.

Anything can be encoded, including emoji and non-Latin text, which become several escapes each because the encoding works on UTF-8 bytes rather than characters. That is why one Hindi or Japanese character turns into three percent escapes.

It runs in your browser. URLs regularly carry access tokens, session identifiers and email addresses, so nothing typed here is transmitted or logged.

How to use the URL Encoder

  1. Paste your text

    A whole address, or the single value you want to put inside one.

  2. Choose which kind of encoding

    One value escapes everything including & and =. A whole URL leaves the structure intact.

  3. Check the result

    Spaces become %20 and each non-Latin character becomes several escapes, since the encoding works on bytes.

  4. Copy it

    One tap to the clipboard, or download it as a text file.

Frequently asked questions

Which option should I choose?
If you are encoding something that will sit after an = in a query string, choose "one value" — it escapes & and = so the value cannot split into two parameters. If you are encoding a complete address, choose "a whole URL", which leaves the structure alone.
What happens if I use the wrong one?
Encoding a whole URL with the value encoder turns it into a single unusable string. Encoding a value with the URL encoder leaves & and = unescaped, so a value containing either one breaks the query string — usually without any error, which is what makes it a nasty bug.
Why does one emoji become several escapes?
Because percent-encoding works on UTF-8 bytes, not characters. An emoji is four bytes, so it becomes four escapes. Most non-Latin characters are three.
Should a space be %20 or +?
%20 everywhere. The + form is specific to how HTML forms encode their data, and using it elsewhere — in a path, for instance — means a literal plus sign rather than a space.
Is my text sent anywhere?
No. It is encoded in your browser. URLs frequently carry access tokens, session identifiers and email addresses, so nothing typed here is transmitted or logged.