Send feedback

Coming from the page: URL Encoder / Decoder

One moment…

UTF-8 & Arabic URLsPunycode domainsQuery parser

URL Encoder / Decoder

Turn an encoded link back into readable text, or encode text so it is safe inside a URL.

Everything runs in your browser: no text or file is uploaded to any server.

How to use it

1

Pick an action

“Encode a value” for text that goes after = or into a path, “Encode a whole URL” to keep its : / ? # &, and “Decode” to read an encoded link.

2

Paste

The output appears at once; each line is handled on its own.

3

Analyse a link

The “Analyse a link” tab lists the domain, path and every parameter after ? with its decoded value.

Value vs whole URL

TextEncode a valueEncode a whole URL
a ba%20ba%20b
?x=1&y=2%3Fx%3D1%26y%3D2?x=1&y=2
https://https%3A%2F%2Fhttps://
cafécaf%C3%A9caf%C3%A9

Good to know

Why are non-English links so long? URLs carry ASCII only, so each non-ASCII character is sent as UTF-8 bytes written %XX. Browsers show it readable, but copying gives the encoded form.

International domains. A domain like bücher.de or an Arabic one is sent as Punycode starting with xn--. We convert both ways.

Don’t encode twice. If %25 shows up in the output, the text was already encoded. Decode it first.

FAQ

How do I make an encoded link readable?

Choose “Decode” and paste it. Domains starting with xn-- are shown in their own script too.

When do I encode a value?

Whenever you put text inside a URL after = or in a path, like a WhatsApp message or a search term, so characters like & and ? aren’t read as part of the URL.

What does “space as +” mean?

HTML forms send spaces as + (application/x-www-form-urlencoded). Turn it on when decoding form data or preparing a value for one.

Why do I get a decoding error?

Either a % isn’t followed by two hex digits (write a literal % as %25), or the bytes don’t form valid UTF-8 because the link was cut. We decode what we can and point to the problem.