Free with a MASK account
URL Encoder & Decoder
Percent-encode or decode a URL component without guessing the rules.
Runs entirely in your browser — what you enter is never sent to MASK. Your account records that you used this tool, along with which direction you ran it in and how long your input was — never what you entered.
The difference, on a fixed example
A worked example, the same for everyone. It is not your text and it does not change as you type — your own result appears below.
- Example input
- https://mask.pk/go?q=a b&r=1
- One value
- https%3A%2F%2Fmask.pk%2Fgo%3Fq%3Da%20b%26r%3D1
- A whole URL
- https://mask.pk/go?q=a%20b&r=1
Runs as you type, in this browser. Up to 200,000 characters.
0 characters
Questions
- Which setting do I want?
- If you are handling one value — a search term, a redirect target, an email address that is going after ?next= — choose 'One value'. If you are handling a complete link and just want its spaces and accents made safe, choose 'A whole URL'. The fixed worked example on the page runs the same sample text through both, so you can see the difference before you paste anything of your own.
- Why did my link stop working after I encoded it?
- Almost always because a whole URL was encoded with the 'One value' setting, which turns :// into %3A%2F%2F. That is correct when the link is itself a parameter of another link, and wrong when it is the link you want someone to open. Switch to 'A whole URL' and encode again.
- Does a + become a space?
- No. This tool treats + as a literal plus sign in both directions. Plus-means-space is a rule of HTML form submissions, not of URLs, and applying it here would quietly corrupt values that legitimately contain a plus, such as C++ or a base64 string. If your text came out of a form body, replace + with a space yourself before decoding.
- Why does it say my input is not valid percent-encoding?
- A % in a URL must be followed by exactly two hex digits, so %20 is valid and %2, %ZZ or a lone % at the end are not. The message names the character position so you can find it. If you meant a literal percent sign, it should be written %25.
- Is anything I paste sent to MASK?
- No. The encoding runs in your browser with the platform's own URI functions, and neither the text you paste nor the result is ever transmitted — a redirect target or an access token pasted here is seen only by you. It does talk to MASK for two things, neither of which is your text: to check whether you are signed in, and to record on your account that you used this tool, which direction you ran it in and how long the input was. That is a length, never the characters.