URL Encoder & Decoder

Turn text into percent-encoded form for use in a URL, or decode %XX sequences back into readable text. The result updates as you type.

  • Runs on your device
  • No sign-up
  • Free, no watermark
Loading the URL encoder…

How to use the URL Encoder & Decoder

  1. 01Choose Encode or Decode.
  2. 02Paste text or a URL into the left pane. A link starting with http:// or https:// switches to Full URL scope; pick Component to encode a single value.
  3. 03Turn on "+ means space" if the text comes from, or is going into, an HTML form.
  4. 04Copy the result from the right pane.
  5. 05Press Swap to move the result into the input and reverse the direction, for example to check a round trip.

Good to know

Runs on your device

Your text is converted in the browser and never sent to a server.

Converts as you type

There's no button to press. The output follows every keystroke.

Forgiving decoding

A broken sequence, such as a % without two hex digits after it, is left as it is and its position is shown. The rest still decodes.

Full UTF-8

Non-English characters and emoji become multi-byte %XX sequences and decode back exactly.

Frequently asked questions

Why do URLs need encoding?

A URL can only contain certain characters. Spaces, &, =, ?, # and non-English letters have to be written as %XX codes, or they break the URL or change its meaning.

What is the difference between Full URL and Component?

Full URL follows JavaScript's encodeURI: spaces and non-English letters are encoded, but : / ? & = # are kept, so the link still works. Existing %XX codes are kept too. Component follows encodeURIComponent and encodes everything except letters, digits and - _ . ! ~ * ' ( ), which is right for one query value or path segment.

How is + handled?

By default + is just a plus sign. Turn on "+ means space" for HTML form data: decoding then turns + into a space, and encoding writes spaces as + and a real plus sign as %2B.

What happens with a broken % sequence?

Decoding doesn't stop. Valid %XX codes are decoded, broken ones are left as they are, and the position of the first one is shown, for example "Invalid escape at character 12".

Is my text sent anywhere?

No. Encoding and decoding happen in your browser, so it's safe to paste URLs that contain tokens or personal details.

Related tools