URL Encoder and Decoder

Percent-encode and decode, with separate modes for a parameter value and a whole URL, plus a breakdown that decodes each query parameter.

Runs in your browser: input and output are never sent to the server, and the platform does not store your input.

Input

Not stored

Output

Fill in the fields on the left, then run.

How to use

  1. 1Paste the text or URL you want to process.
  2. 2Pick a mode: “parameter value” for something going into a query parameter, “whole URL” for a complete address.
  3. 3When a long URL is unreadable, use “Break a URL into its parts”.

FAQ

What is the difference between the two encode modes?

encodeURIComponent also encodes : / ? # & =, which is right for a parameter value. encodeURI keeps those characters as structure, which is right for a whole URL. Using the wrong one either breaks the URL or truncates a parameter.

Why does decoding fail?

Percent-encoding must be % followed by two hex digits. A lone % or a truncated %E4 is not valid, so decoding reports an error rather than guessing.

Why was my + not turned into a space?

+ meaning space is an HTML form rule (application/x-www-form-urlencoded), not part of the URL standard. encodeURIComponent leaves it alone; replace it yourself if you need to.

Do non-ASCII URLs have to be encoded?

The address bar shows them unencoded, but the request still sends percent-encoded bytes. Use the encoded form in code, config files and API parameters.

Is my input uploaded?

No. Encoding, decoding and the breakdown all run in your browser; no sign-in and no quota.