URL encode and decode

Paste text or a web address to encode it with percent signs, or paste an encoded address to read it. Choose whether you are encoding a value or a whole URL.

  • Free
  • No sign-up
  • Runs in your browser
url-encode-decode

100% private — your text is processed in your browser and never sent to any server.

How it works

Paste your text or URL

One item, or a list with one address per line.

Choose encode or decode

And whether it is a value (a query parameter) or a whole address.

Copy the result

Use it in a link, an API call, a redirect or a spreadsheet.

Why URLs need percent-encoding

A web address can contain only a limited set of characters. Spaces, accented letters, emoji and characters that have a meaning in a URL, such as &, ?, # and /, cannot appear as they are. They are replaced by a percent sign followed by two hexadecimal digits, so a space becomes %20 and the letter é becomes %C3%A9. This is called percent-encoding or URL encoding, and you meet it in shared links, query strings, redirects, API parameters and tracking codes.

Value or whole address?

The right way to encode depends on what you are encoding. A value, such as a search phrase that will go after ?q=, must have everything encoded, including &, =, / and ?, otherwise they would be read as part of the URL structure. A whole address already contains those structural characters, so they must be kept, and only the unsafe characters, such as spaces and accents, are encoded. Choosing the wrong one is the most common mistake: encoding a whole address as a value produces something like https%3A%2F%2F… that no longer works as a link.

Decoding

Decoding turns %20, %C3%A9 and the like back into readable characters, which is what you need to read a long shared link, a redirect target or a value from a server log. Multi-byte characters such as accented letters and emoji are rebuilt correctly. If a line contains an invalid sequence, such as a stray percent sign, that line is left as it was, and the tool tells you how many lines could not be converted.

Spaces: %20 or +

In a path a space is %20. In form submissions and some query strings, a plus sign is also used for a space. The option "Use + for spaces" switches to that style when encoding, and reads it when decoding.

What it does not do

The tool encodes and decodes text; it does not check that the address exists or fix a broken link. Encoding a value twice produces %2520, so encode once and decode once. To clean tracking parameters from links, use the URL cleaner.

Frequently asked questions

How do I URL-encode a text?
Paste it, choose "Encode" and "A value or parameter" and copy the result. Spaces become %20 and special characters are converted.
What is the difference between encoding a value and a whole address?
A value gets everything encoded, including / ? & = and #. A whole address keeps those structural characters and only encodes unsafe ones such as spaces.
How do I decode %20 and %C3%A9?
Choose "Decode". The percent sequences are turned back into spaces, accented letters and other characters.
Why did my link stop working after encoding?
You probably encoded a whole address as a value, which turns : and / into %3A and %2F. Use "A whole address" instead.
Can I encode a list of addresses?
Yes. Keep "Process each line on its own" ticked and put one address per line.
Is my text uploaded anywhere?
No. The conversion runs in your browser.