FREE TOOL · PRIVATE BY DESIGN

Make every URL value safe to share.

Encode a value, decode a string, or preserve the structure of a complete URL — right here in your browser.

Your text stays yours. All processing happens in your browser. Nothing is uploaded.

URL WORKSPACE

Encode or decode

Runs locally
What are you encoding?
Encoding settings Character set, spaces & batch mode
Batch mode: one item per line (each line is encoded / decoded on its own, and errors are reported per line)
Character set
Space as
Encoding mode
Newlines
Which settings should I use?

Plain English: percent-encoding (also called URL encoding) rewrites the characters a URL cannot carry directly as a percent sign plus two hex digits. A space becomes %20; an accented letter becomes a run of %XX groups.
· Component mode: encode / decode one piece of text, such as a single parameter value.
· Full URL mode: splits the URL into scheme / host / path / query / fragment and encodes each part on its own, keeping the structural characters (:// / ? & = #) intact.
· With batch on, every line is treated as its own item, and a bad line is reported on its own.

No sign-up · Unlimited use · No watermark · Runs only in your browser.

TOOLS & GUIDES

Start with a task

Open a popular tool, or browse by what you need to do.

Browse by task

About · Privacy · Contact

URL ENCODE AND DECODE

Choose the right encoding mode

Keep URL separators intact, encode values once, and match the receiving format.

Encode a single query value with component encoding so characters such as & and = stay inside that value. For a complete URL, preserve its separators and encode only its data parts. To read an encoded string, decode it once as UTF-8.

Why a space can be %20 or +

%20 is the percent-encoded UTF-8 byte for a space. A plus sign is a space marker in the form-encoding convention, but in an ordinary URL a literal + can mean plus. To represent an actual plus in form data, encode it as %2B.

Original valuePercent styleForm style
a ba%20ba+b
a+ba%2Bba%2Bb

When decoding, treat + as a space only when the data uses form encoding. Otherwise leave it as a plus sign.

A safe encode-and-decode sequence

  1. Identify the part that is data. For a search URL, this is often the query value after q=.
  2. Encode just that value. A component encoder turns data characters that could be misread as syntax into percent-encoded bytes.
  3. Assemble the URL. Put the encoded value after its key, retaining delimiters that separate the URL's parts.
  4. At the receiving end, parse first. Identify the parameter or path segment, then decode that one value once.

Worked example: keep an ampersand inside the search phrase

Suppose the search text is tea & cake + pie and the URL also needs a separate page parameter. Encode the search text as one component:

Raw value

tea & cake + pie

Encoded value

tea%20%26%20cake%20%2B%20pie

Assembled URL

https://example.com/search?q=tea%20%26%20cake%20%2B%20pie&page=2

The encoded %26 belongs to the phrase. The final literal & separates q from page. If the phrase's ampersand were left raw, a form-style query parser could interpret what follows it as another key/value pair.

Common errors and what to do

A URL becomes unreadable after encoding

You likely encoded the entire address as one component. Its colon, slashes, question mark, and ampersands became data too. Encode each path segment or query name/value separately, then join them with the URL separators.

A value is split at an ampersand

Encode the ampersand inside the value as %26. Keep the real ampersands that separate query parameters.

The output contains %2520

This usually means %20 was encoded again: the percent sign became %25. Use the original text, or decode one layer before encoding once for the intended context.

Decoding reports an invalid percent escape

A percent sign must be followed by two hexadecimal digits, such as %20. Check for a truncated escape like %2 or a stray %. Do not silently replace malformed data if exact recovery matters.

Need to inspect an encoded value? Use the URL decoder. For a value-by-value example matrix, see URL encoder online.

Reproduce our decoder checks: PercentURL decoder regression scripts and source code on GitHub.

TROUBLESHOOTING LABS

Reproduce a specific failure with tested examples and runnable code.

Percent-encoding character reference table (click to expand)

Every printable ASCII character and how it looks under percent-encoding. Green = left as-is, blue = encoded. Use the search box to find one.

CharNameEncodedHandling