URL Encoder / Decoder

Percent-encode and decode text, query parameters and full URLs, with full Unicode support. Everything runs in your browser — your data is never sent anywhere and nothing is stored.

How to use the URL encoder

  1. Choose Encode or Decode.
  2. For encoding, pick Component for a single value (like one query parameter) or Full URL to encode a whole address without breaking it.
  3. Paste your text, click the button, and copy the result.

Common percent-encodings: space is %20, & is %26, ? is %3F, = is %3D, # is %23, / is %2F and + is %2B.

More PAYATE tools

Frequently asked questions

What is URL encoding?

URL encoding (also called percent-encoding) replaces characters that are unsafe or reserved in a URL with a % followed by two hex digits — for example a space becomes %20 and & becomes %26. It lets you put arbitrary text into a URL, query string or form field without breaking it.

What is the difference between the two encode modes?

Component (encodeURIComponent) encodes almost everything, including / ? : @ & = + $ # — use it for a single value such as one query parameter. Full URL (encodeURI) keeps the characters that make up a valid address, so it is for encoding a whole URL you do not want to break.

Is my data sent anywhere?

No. Encoding and decoding run entirely in your browser — nothing is uploaded to a server and nothing is stored. It is safe for data you would not want to transmit.

Why did decoding fail?

Decoding fails when the input contains a % that is not followed by two valid hex digits (a malformed percent sequence). Check for stray % characters, or that the text was actually URL-encoded in the first place.

Does it handle Unicode and emoji?

Yes. Encoding works on the UTF-8 bytes of the text, so accented letters, non-Latin scripts and emoji round-trip correctly through encode then decode.

When should I URL-encode?

Whenever you put user input or special characters into a query string, a path segment, a redirect parameter, an API request, or an application/x-www-form-urlencoded form body. Encoding prevents the value from being misread as part of the URL structure.