Bulk URL Encoder/Decoder

Encode or decode a list of URLs (or any text) with percent-encoding, one line at a time. Paste multiple lines and get them all encoded or decoded at once — runs entirely in your browser.

Instructions

Use this tool to encode or decode multiple URLs at once. Enter each URL on its own line in the text area above, then click the button for the direction you want:

  1. Paste your URLs — one per line. Blank lines and plain text work too; the tool does not require a valid URL.
  2. Click "Encode URLs" or "Decode URLs" — each line is processed individually, so a list of 50 URLs comes back as 50 encoded or decoded lines in the same order.
  3. Copy the output — "Copy" puts the whole result on your clipboard.

URL encoding converts characters into a format that can be transmitted over the Internet. Decoding reverses this process.

Everything runs in your browser. Your URLs are never uploaded to a server.

If a line contains a malformed escape sequence — a bare %, or %ZZ — decoding it would normally throw an error. Instead, that line is passed through unchanged and counted under "Invalid escape sequences," so one bad line never blanks out the rest of your results.

Why URLs Get Encoded and Decoded

URLs need to be encoded to ensure they can be transmitted over the internet without any issues. URL encoding replaces certain characters in a URL with one or more character triplets of the percent character % followed by two hexadecimal digits. These characters include spaces, special characters, and non-ASCII characters.

How URL Encoding and Decoding Works

According to the URL percent-encoding specification:

  • URL encoding converts characters into a format that can be safely transmitted over the internet. Characters like spaces, quotes, and non-ASCII characters are replaced with a % followed by their ASCII hexadecimal value. For example, a space is encoded as %20.
  • URL decoding is the process of converting encoded characters back to their original form. For instance, %20 is decoded back to a space. This ensures that web browsers and servers can interpret the data correctly.

What Happens if URLs Are Not Encoded

If URLs are not encoded, certain characters can cause problems:

  • Spaces — spaces in URLs can be interpreted as delimiters, causing parts of the URL to be omitted or misinterpreted.
  • Special characters — URLs use characters like & and = to delimit parameters. If not encoded, they can disrupt the query string.
  • Non-ASCII characters — characters outside the ASCII range might not be correctly transmitted or interpreted, leading to broken links or incorrect data.

Common URL Encoded Characters

Each percent-encoded value below is the % character followed by the two-digit hexadecimal ASCII code for that character.

CharacterEncoded Value
Space%20
!%21
"%22
#%23
$%24
%%25
&%26
'%27
(%28
)%29
*%2A
+%2B
,%2C
/%2F
:%3A
;%3B
<%3C
=%3D
>%3E
?%3F
@%40
[%5B
\%5C
]%5D
^%5E
_%5F
`%60
{%7B
}%7D
~%7E

Two things worth knowing when you read this table against the tool's actual output:

  • Decoding covers every row. Feed any of these escapes to "Decode URLs" and you get the character back — %20 becomes a space, %2C a comma, %3D an equals sign, %22 a double quote.
  • Encoding does not emit every row. This tool encodes a line the same way JavaScript's encodeURIComponent does, which treats A–Z, a–z, 0–9, and - _ . ! ~ * ' ( ) as safe and leaves them as-is. So !, ', (, ), *, _, and ~ come back unescaped even though their hex codes are listed above. The values are still correct — they are what those characters look like when something else encodes them, and what "Decode URLs" will turn back.

One more decoding gotcha: + is not treated as a space. In HTML form submissions (application/x-www-form-urlencoded), a + means a space, but in a URL path or a standards-compliant query string it is a literal plus. Decoding a+b returns a+b, and a space only comes back from %20. If you are decoding form-encoded data, replace + with a space yourself before pasting.

Importance of URL Encoding and Decoding

URL encoding and decoding are critical for maintaining the integrity and functionality of links across different platforms and devices. If URLs are not decoded, browsers cannot find the page or "resource" they represent. Special characters like spaces and symbols might cause errors, broken links, or misinterpreted data.

Use this tool to decode and encode URLs online, ensuring your web links are always correctly formatted and functional.

Example: Encoding JSON in a URL

Some applications pass data along in the URL in the form of JSON. Here's an example of a JSON object that describes a person.

{"name": "John Doe", "age": 30, "city": "New York"}

This is what the URL would look like if it were not encoded. As you can imagine, a browser could just cut off the JSON after the opening curly brace.

https://example.com/api?data={"name": "John Doe", "age": 30, "city": "New York"}

This is what the encoded JSON looks like in the final URL.

https://example.com/api?data=%7B%22name%22%3A%20%22John%20Doe%22%2C%20%22age%22%3A%2030%2C%20%22city%22%3A%20%22New%20York%22%7D

You can trace every substitution back to the table above: { became %7B, each " became %22, each : became %3A, each space became %20, and each , became %2C.

Note that this tool encodes the entire line you give it, including the https:// and any slashes — paste https://example.com/a page into "Encode URLs" and you get https%3A%2F%2Fexample.com%2Fa%20page. That is the right behavior when you are encoding a value to embed inside another URL, which is the usual reason to reach for this. If you only want to encode the JSON portion, paste just the JSON.

These tools are how Elegant Atomics thinks about growth for B2B SaaS. Work with us. Work with us →