URL encode

Percent-encode · Query values · Whole addresses · UTF-8 · Safe characters

Percent-encode text so it survives a URL — a single query value, or a whole address with its structure left intact. Runs in your browser, so tokens stay private.

Scope

0 characters · 0 words · 0 lines

Drop a text file here, or . It is read in your browser and never uploaded.

0 characters

Why URLs need encoding at all

A URL may only contain a limited set of ASCII characters. Everything else — spaces, accented letters, emoji, and the structural characters when they appear inside a value — has to be represented as a percent sign followed by the hex value of each UTF-8 byte. That is why a space becomes %20 and an em dash becomes %E2%80%94.

Getting this wrong is a common source of bugs: an unencoded ampersand inside a parameter value silently ends that parameter and starts a new one, so the server reads something you never sent.

Going the other way? Decode a URL — or switch direction with the tabs above without losing what you pasted.

Frequently asked questions

Is this URL encoder free?

Yes, with no account and no limit.

What is the difference between encoding a component and a full URL?

Encoding a component escapes everything that is not safe in a value, including : / ? # & = — which is what you want for a single query parameter. Encoding a full URL leaves those structural characters intact so the address still works. Pick the wrong one and you either break the URL or fail to escape the value inside it.

Why does %20 sometimes appear as a plus sign?

Both represent a space, but in different contexts: %20 is correct anywhere in a URL, while + means space only inside a query string submitted as a form. This decoder accepts either.

What does "URI malformed" mean?

The decoder found a % that is not followed by two valid hex digits — usually a literal percent sign that should itself have been encoded as %25, or a string that was cut short.

Is my URL sent to a server?

No. Encoding and decoding use your browser built-in functions, so nothing is transmitted. URLs often carry tokens and session identifiers, so this matters.