URL Encoder
Developer ToolsPercent-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
- 1Paste the text or URL to encode.
- 2Pick component encoding for a single parameter, or full URI for a whole address.
- 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.