🧰Tools 🗜️ Compression🔄 Conversion✏️ Editing📄 PDF Tools⚡ Optimization🌐 Web Tools🧰 All Tools (69)
📱 Android App 📝 Blog 👋 About

Web Tools · Free · No signup

Percent-Encode or Decode Any URL Component

Spaces become %20, ampersands %26, accented letters their UTF-8 byte sequences — correct percent-encoding is what keeps query strings, form data and shared links intact. Choose full component encoding (everything special is escaped — for parameter values), URL-preserving encoding (structure like ? & / stays readable), or either direction of decoding. Paste, convert, copy. The conversion is pure browser JavaScript; nothing is sent anywhere.

Component mode escapes everything (for values) · URL mode keeps ://?& structure.

🔒 100% private: everything runs inside your browser — nothing is uploaded, stored or logged.

How it works

  1. Paste the text or URL fragment into the input box.
  2. Pick the mode: Encode component, Encode URL, Decode component or Decode URL.
  3. Press Convert — the result appears instantly.
  4. Copy the encoded or decoded output for use in links, code or logs.

Features

The two encodings, properly separated

Component mode escapes every reserved character (encodeURIComponent semantics); URL mode keeps ? & = / # structure intact (encodeURI semantics).

Both decode directions

Turn %20 soup back into readable text, with strict validation of malformed sequences.

Full Unicode

Non-Latin text encodes to its UTF-8 byte sequence — the standard browsers and servers expect.

Live error messages

Decode a broken sequence like %E0%A4 and get a clear error instead of silent corruption.

100% local

Encoding runs in your browser. URLs with tokens or tracking parameters stay private.

Input & output. Input: any UTF-8 text or URL fragment. Output: percent-encoded text (%-sequences) or decoded text. Both the standard and URL-safe handling of reserved characters are supported via mode selection.

Common use cases

Limitations (honest ones)

Encoding a full URL in component mode escapes its structure (// and ?) — that mode is for values, not whole links; use “Encode URL” for complete links. Decoding assumes percent-sequences are valid UTF-8. The tool does not validate whether the URL itself is reachable or well-formed beyond the encoding rules.

Frequently asked questions

When do I use component mode vs URL mode?

Component mode (encodeURIComponent) for individual values you place inside a query string — it escapes & = ? so a value cannot break the URL. URL mode (encodeURI) for a whole link you want to keep working: it preserves ://?& structure and only escapes characters that are illegal in URLs.

Why did my & disappear after encoding?

It became %26 — that is correct. Inside a parameter value, a raw & would split the parameter. Decode it with component mode to get it back.

What is the difference between %20 and +?

Both mean space in practice: %20 is the standard percent-encoding, + is a legacy convention from form submission (application/x-www-form-urlencoded). Use %20 when building URLs by hand.

Can I decode a URL that was encoded twice?

Yes — run decode twice. Sequences like %2520 (encoded %20) need one more pass; the second decode reveals the space.

Does encoding change the page I link to?

No — a correctly encoded URL addresses the same resource. Servers decode percent-sequences before routing. Only incorrect double-encoding changes what the server sees.

Keep going

Related tools

CompressoPanda Android app icon

On mobile?

Working from your phone?

This tool runs in any mobile browser — no app needed. And for the image & PDF side of the toolbox, the CompressoPanda Android app ships 36 tools that run with no connection at all: compression to target size, editing and PDF essentials included.