URL Encoder & Parser

Encode, decode and break down URLs and query strings

Percent-encoding uses UTF-8.

How to URL encode or decode text

  1. Paste your text, URL or query string into the input box.
  2. Pick a mode. Component escapes everything except letters, digits and -_.!~*'(), which is right for a single query value or path segment. Full URL keeps : / ? & = so a whole address stays usable. Form uses + for spaces like HTML forms do.
  3. Press Encode or Decode, then copy the result.
  4. Switch to Parse URL to split an address into protocol, host, port, path, query and fragment, with every parameter decoded in a table.

What is URL encoding?

URLs may only contain a limited set of ASCII characters. Anything else, such as spaces, accented letters, emoji or characters with special meaning like & and #, has to be percent-encoded: the character is converted to UTF-8 bytes and each byte is written as % followed by two hex digits. A space becomes %20 and é becomes %C3%A9.

The most common bug is encoding a full URL with encodeURIComponent, which also escapes the slashes and colon and breaks the link. Encode only the individual values you insert into a URL, not the whole thing.

The parser flags common tracking parameters such as utm_source, gclid and fbclid and can copy a clean link without them, which is handy before sharing a URL.

Privacy

Everything runs locally with your browser's own URL functions. Nothing you paste is sent anywhere, so it is safe for links that contain tokens or personal data.

What is the difference between encodeURI and encodeURIComponent?

encodeURI leaves characters that structure a URL (such as / ? : & = #) untouched, so it suits a complete address. encodeURIComponent escapes those too, so it suits a single value placed inside a URL.

Why do I get "URI malformed" errors elsewhere?

The input has a % that is not followed by two hex digits, or bytes that are not valid UTF-8. This tool decodes the valid parts and leaves the broken sequences untouched so you can find them.

Should spaces be %20 or +?

In paths always use %20. In query strings both work for most servers, because + means a space in the application/x-www-form-urlencoded format used by HTML forms.

Made by BufferMint. We also design and build software products for founders. See our services →

Your files and inputs never leave your device; we only count anonymous visits.