Skip to content
Expensico

URL Encoder / Decoder

Percent-encode or decode URLs and query parameters, and break a URL into its parts with an editable query-string table.

Runs in your browser. Everything you enter stays on your device. Nothing is sent to a server.

How to use the URL Encoder / Decoder

  1. Choose to encode a component, encode a full URL, or decode.
  2. Paste your text or URL.
  3. Copy the result. Full URLs are also broken into protocol, host, path and query parameters.

What is URL encoding?

URLs can only contain a limited set of ASCII characters. Anything else — spaces, &, ?, #, non-English letters, emoji — must be percent-encoded as % followed by the hexadecimal value of each UTF-8 byte. A space becomes %20, and ₹ becomes %E2%82%B9.

Component vs full URL

  • Encode component (encodeURIComponent) escapes everything that has meaning in a URL, including / ? & = #. Use it for individual query values.
  • Encode full URL (encodeURI) keeps the URL's structure characters intact and only escapes what's invalid. Use it for a complete URL that contains spaces or Unicode.

Example

Encoding the component pdf to jpg&fast gives pdf%20to%20jpg%26fast, so the & can't be mistaken for the start of another parameter.

Frequently asked questions

Why do some URLs use + for spaces?

HTML forms encode spaces in query strings as +. The decoder treats + as a space; when encoding, %20 is used, which works everywhere.

What does “malformed URI sequence” mean?

The input contains a % that isn't followed by two hex digits, or a byte sequence that isn't valid UTF-8. Check for stray % signs.

Is what I enter stored or sent anywhere?

No. Calculations and processing happen in your browser. Nothing you type is sent to our servers. Some tools remember your last input in this browser's local storage for convenience; you can clear it at any time.