Skip to content
Esc

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

  1. 01Paste or type text, a query value or a whole URL, or pick one under Try.
  2. 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.
  3. 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.