URL Encoder/Decoder

Encode text so it is safe in a URL, or decode %-escaped text and URLs back to readable text. Choose between encoding a single value and a whole URL, and between %20 and + for spaces. When you decode a URL, its query parameters are listed one by one. Everything runs locally in your browser; nothing is uploaded.

Runs locally in your browser
Mode

How to use URL Encoder/Decoder

  1. Choose a mode. Pick Encode or Decode, and whether the input is one value or a whole URL.
  2. Paste your text. Paste the text or URL into the input box.
  3. Convert. Click Encode or Decode, then copy the result. Decoded URLs also list their query parameters.

Example

Encoding a search phrase so it can go in a query string.

Text

Café & croissants: 50% off!

Options: Encode, one value, spaces as %20

Encoded

Caf%C3%A9%20%26%20croissants%3A%2050%25%20off%21

Decoding https://shop.example/search?q=caf%C3%A9+%26+croissants&page=2 lists q = café & croissants and page = 2.

Formats, limits and privacy

Input
Plain text
Output
Plain text
Limits
  • Encodes text as UTF-8 percent-escapes (RFC 3986).
  • Query parameters are listed only when you decode a URL or query string.
  • No fixed size limit; very large inputs depend on your device's memory.
Privacy
Everything happens in your browser. Your input is never uploaded to a server.

Troubleshooting

A link breaks after encoding

You encoded a whole URL as one value, which escapes the : / ? and & it needs. Choose "A whole URL", or encode only the parameter value.

+ signs stay in the decoded text

Tick "Spaces as +" when decoding form data. Elsewhere in a URL, + is a literal plus sign.

Text looks double-encoded, such as %2520

%25 is an escaped %, so the text was encoded twice. Decode it twice to get the original back.

Frequently asked questions

What is the difference between encoding "one value" and "a whole URL"?

One value escapes every character that has a meaning in URLs, such as / ? & = and #, so it is right for a single query value or path part. A whole URL keeps those characters so the address still works, and only escapes spaces and other unsafe characters.

Should spaces be %20 or +?

Both are common. %20 works everywhere in a URL. + means a space only in query strings sent by HTML forms (application/x-www-form-urlencoded). Tick "Spaces as +" when you are working with form data.

Why do I get an error when decoding?

Every % must be followed by two hex digits, and the escapes must form valid UTF-8 text. A literal percent sign must be written as %25.

Is my input uploaded?

No. Encoding and decoding run entirely in your browser.