filetity
Direction
A + in the input means
Paste an encoded URL
LocalThis runs in your browser. Nothing you paste is sent anywhere.

URL · Local tool

URL Decoder and Encoder

Turn %20 and %C3%A9 back into readable text, or encode text for a URL.

Last updated

  1. 01 / Your device

    the file stays here

  2. 02 / Browser memory

    the work runs locally

  3. 03 / Back to you

    saved on this device

When you would use this

Situations, not settings.

A link full of %20 and %C3%A9
Percent encoding turns a readable URL into a wall. Decoding shows what the parameters actually say.
Debugging a redirect or a callback
Nested encoded URLs are common in OAuth flows and impossible to read by eye.
Building a query string by hand
Encodes as well, and tells you which part was malformed if it will not decode.

How it works / no cloud

A conversion engine, not an upload form.

Percent-encoding is a text transformation, so it happens in JavaScript on the page as you type. A server would add a round trip and a copy of your URL in someone else's logs, which is the last place a URL with a token in it should be.

  • Offline ready
  • Installable app
  • No file limit queue

Straight answers

No accordion. Nothing hidden.

Is it free?
Yes, with no watermark and no page limit.
Does it need an account?
No. There is no account system.
Is my file processed on my device?
Yes. The file is read by your browser and never uploaded. There is no server to send it to.
What formats are supported?
Text in either direction. Decoding handles UTF-8, so accented letters, non-Latin scripts and emoji come back as themselves. You choose whether a + means a space or a plus sign, and whether you are encoding one value or a whole URL.
What are the limits?
Bounded by what your browser will hold in a text box, which in practice is several megabytes. Input that is not valid percent-encoding is refused with the offending part quoted, rather than half decoded.
Does it work on mobile?
Yes, on any modern mobile browser. Large files are limited by the memory the phone gives the browser.
Does it work offline?
Yes, after you have used it once. Your browser keeps what the tool needs, so it then works with no network connection.
Why does my decoded text come back with + signs, or with spaces where plus signs should be?
Because a + means two different things. In a query string sent by a form it means a space. In a path it is a plus sign and nothing else. There is no way to tell which you have from the text alone, so this page asks rather than guessing. Getting it wrong turns a phone number like +1 802 into 1 802 with no warning.
What is the difference between the two encoding modes?
One value inside a URL escapes the characters that give a URL its structure, so a search term containing a slash or an ampersand cannot break out of the parameter it sits in. A whole URL leaves / ? : @ & = + $ # alone, because those are the structure. Use the first for one parameter, the second for a link you want to stay a link.
Why does it refuse some input instead of decoding what it can?
Because a half decoded URL looks decoded. If a percent escape is cut short, like %E0%A4%A, or a % is not followed by two hex digits, the tool quotes the part that broke and stops. You get a corrected input rather than output you have to check by hand.
Is a URL decoder the same as a URL encoder?
They are the two directions of the same thing, and both are on this page. Decode turns %20 back into a space, encode turns a space into %20. The button between the panes carries a result across so you can check a round trip without copying it yourself.
Can I encode spaces as + rather than %20?
Yes, when encoding one value. A form post writes spaces as +, so there is a switch for it. It is not offered for a whole URL, because a + in a path is a plain plus sign, and writing spaces that way would produce a different address.

Keep working locally

7 available · more coming