Boring Tools

URL Encode/Decode

Open tool

Encode or decode URL components safely.

Percent-encode text so it can be dropped safely into part of a URL — a query-string value, a path segment, a fragment — or decode a percent-encoded string back into readable text.

How it works

Encode uses the browser's encodeURIComponent. Every character except letters, digits and - _ . ! ~ * ' ( ) is replaced by % followed by its UTF-8 bytes in hex, so a space becomes %20, & becomes %26, and é becomes %C3%A9.

Decode uses decodeURIComponent and reverses that. Because this is component encoding, it is designed for one piece of a URL at a time, not a whole address.

How to use it

  1. Choose Encode or Decode with the toggle at the top.
  2. Type or paste into the box (labelled Text or URL when encoding, Encoded text when decoding).
  3. Click Encode or Decode.
  4. Use Copy to take the result, or read the red message if decoding failed.

Options & controls

Mode

Encode / Decode
Switches direction. Changing it clears the result and any error but leaves your input as it is.

Input and actions

Input box
The text to convert. Nothing runs until you click the action button.
Encode / Decode button
Runs the conversion. With an empty input it just clears the result.
Reset
In the title row. Returns to Encode mode and clears the input, result and error.

Result

Result box
Read-only output, shown after a successful run.
Copy
Copies the result to your clipboard. (There is no Download button for this tool.)
Error message
"That doesn't look like a validly encoded URL component." — shown when decoding text containing a malformed % sequence, such as %E0%A4%A or a lone %.

Tips & guidelines

  • Encode only the value you are inserting, not the whole URL. If you encode https://example.com/a?b=c in one go, the :, /, ? and = are encoded too and the link stops working. Encode c, then put it after b= yourself.
  • Use this to build query values that contain &, =, #, ?, spaces, or non-English text.
  • To read a link copied from a browser bar or an email, paste the messy part in Decode.

Limits

  • A + in the input is left alone when decoding. Some forms use + to mean a space; this tool follows decodeURIComponent, which does not, so replace + with a space yourself first if you need that.
  • Spaces are always encoded as %20, never as +.
  • It encodes text, not files, and there is no way to pick which characters are kept.

Saved in your browser

Nothing. Input and result exist only on the page.

← All documentation