URL Encoder

Percent-encode text for URLs — or decode it back to plain text.

FREE TOOL · WORKS OFFLINE · NO SIGN-UP

Component mode uses encodeURIComponent: it encodes everything except A–Z a–z 0–9 - _ . ! ~ * ' ( ). For a full URL, tick Full-URL mode above — it keeps : / ? & = intact and only encodes the parts that need it. Never encode a whole URL in component mode, or its structure breaks.

🛠️ How to Use This Tool

  1. 1.Type or paste text — a query value, a search term, or a full address.
  2. 2.Click Encode for percent-encoding, or Decode to turn %20 and friends back into plain text.
  3. 3.Pick the right mode: component mode for a single value, Full-URL mode when the whole address must stay valid.
  4. 4.Bad input is safe: a broken sequence like %E0%A4%A shows a friendly error instead of crashing.
  5. 5.Nothing is uploaded. Encoding and decoding happen entirely in your browser.

❓ FAQ

What is URL encoding?

URL encoding (percent-encoding) replaces characters that are not allowed in a URL with a % followed by two hex digits — for example, a space becomes %20 and & becomes %26 — so the text travels safely inside a web address.

What is the difference between component mode and full-URL mode?

Component mode (encodeURIComponent) encodes everything except letters, digits and - _ . ! ~ * ' ( ), which is right for a single query value. Full-URL mode (encodeURI) keeps the structure characters : / ? & = intact, which is right for a whole address. Encoding a whole URL in component mode would break its structure.

Why is a space %20 and not +?

In a URL path or query value encoded with encodeURIComponent, a space is %20. The + form only means space inside form-encoded data (application/x-www-form-urlencoded), so %20 is the safe, universal choice here.

Is my text uploaded anywhere?

No — 100% free, no sign-up. Encoding and decoding happen in your browser; your text is never sent to a server.

More free tools →