URL encoder
Percent-encode and decode URLs and query strings.
For a query value or path segment. Leaves A–Z a–z 0–9 - _ . ! ~ * ' ( ) as they are.
Try
About this tool
- Runs in
- your browser
- Your input sent to our servers
- Nothing
- Kept on this device
- nothing
More in the privacy policy.
How to use it
- 01Paste or type text, a query value or a whole URL, or pick one under Try.
- 02Choose Encode or Decode, and the encoding: Component for a single value, Whole URL for a full address, Form for form bodies with + for spaces, RFC 3986 strict for request signatures.
- 03Copy the result, or choose Swap to run it back the other way. If the text is a URL or a query string, its parts and parameters appear decoded below.
Related tools
Questions
Which encoding should I use?
Component (JavaScript's encodeURIComponent) for a single query value or path segment: it encodes & = / ? and #, which would otherwise end the value. Whole URL (encodeURI) for a full address that should keep working as a link. Form for application/x-www-form-urlencoded bodies, which use + for spaces. RFC 3986 strict when a request signature (OAuth 1.0, AWS Signature Version 4) needs ! ' ( ) and * encoded too.
Why is a space sometimes %20 and sometimes +?
Percent-encoding writes a space as %20. HTML forms use an older format, application/x-www-form-urlencoded, that writes it as +. Decode with Form when a + should mean a space.
What does %C3%A9 mean?
Text is encoded as UTF-8 bytes, one %XX escape per byte. é is 2 bytes, so it becomes %C3%A9; an emoji such as 😀 takes 4.
Is my URL sent anywhere?
No. Encoding, decoding and splitting a URL into its parts all happen in this tab; reading a URL's parts doesn't open or fetch it. Your input isn't sent to our servers, and it isn't kept after you leave the page.