Labs

URL Encoder Decoder

Percent-encode a value, safely encode a whole URL, or decode %-escapes back to readable text.

Type or paste to begin
Input —
Output —
Encoded or decoded text will appear here
Settings Line by line · %20 for spaces
How It Works

How to Use URL Encoder Decoder in 3 Steps

1

Choose a mode

Encode value escapes everything that is not safe inside a query parameter. Encode URL keeps :/?#&= so a full address stays clickable. Decode reverses either.

2

Paste text

Output updates as you type. Multi-line input is handled line by line unless you switch that off in Settings.

3

Copy the result

Copy to the clipboard, download a .txt, or press Open to visit a decoded/encoded URL.

FAQ

URL Encoder Decoder — Frequently Asked Questions

What is the difference between “Encode value” and “Encode URL”?

“Encode value” is encodeURIComponent: it escapes &, =, /, ? and # too, which is what you want for a single parameter. “Encode URL” is encodeURI: it leaves URL structure characters alone so an entire address stays valid.

Why does + sometimes mean a space?

HTML form submissions (application/x-www-form-urlencoded) encode spaces as +; everywhere else %20 is correct. Tick “Use + for spaces” when you are building form data; Decode understands both.

Decoding failed with “malformed” — why?

A lone % or a % followed by non-hex characters is not valid percent-encoding. The tool decodes what it can and flags the bad sequence instead of throwing the whole text away.

Does it handle emoji and non-Latin scripts?

Yes. Text is encoded as UTF-8, so “café” becomes caf%C3%A9 and emoji become four-byte sequences, exactly as browsers do.

Is my input sent anywhere?

No. Everything is computed by JavaScript in your browser tab. Nothing is uploaded, logged or stored by Toolity.