URL Encoder

Developer Tools

Percent-encode text for safe use in URLs and query strings.

Runs entirely in your browser โ€” nothing is uploaded

What people do next

Features

  • Component mode escapes &, = and ? for query values.
  • Full-URI mode preserves the structure of a complete address.
  • Optional "+ for space" form-encoding style.
  • Highlights exactly which characters were escaped.

How to use the URL Encoder

  1. 1Paste the text or URL to encode.
  2. 2Pick component encoding for a single parameter, or full URI for a whole address.
  3. 3Copy the encoded result.

Frequently asked questions

Component or full URI โ€” which do I want?

Use component for a value you are putting after "=" in a query string. Use full URI when escaping an entire address whose separators must stay intact.

Which characters actually need encoding?

Only the unreserved set is safe as it stands: A to Z, a to z, 0 to 9 and the four marks - _ . ~. The reserved characters : / ? # [ ] @ ! $ & ' ( ) * + , ; = carry structural meaning in a URL, so they must be encoded whenever they appear inside a value rather than as structure. That distinction is exactly what the two modes here are for.

Why does a space become %20 sometimes and + other times?

Both are correct in different places. %20 is ordinary percent-encoding and is valid anywhere in a URL. The + form comes from HTML form submission and is only meaningful in a query string or a form body, never in a path. Use + only when the receiving end expects form-encoded data, because everywhere else it is a literal plus sign.

What happens if something gets encoded twice?

The percent signs themselves are encoded, so %20 becomes %2520. That is occasionally what you want: a URL passed as a parameter inside another URL has to be encoded twice, or the outer parser reads its separators as its own. If a value reaches you looking like %2520, decode it twice.