URL encoder

Percent-encode or decode text and break any URL into its query parameters — entirely in your browser.

Query parameter parser

Params: 0

Enter a URL containing a query string to see its parameters listed here.

What URL encoding does and why you need it

A URL can only safely carry a small subset of ASCII characters. Everything else — spaces, accented letters, emoji, and the structural symbols a browser uses to route a request — has to be percent-encoded before it can travel reliably across the web. This tool converts text in both directions using the browser's native encodeURIComponent and decodeURIComponent, so the result matches exactly what a server or another application will see.

Under the rules of RFC 3986, each byte that needs escaping is written as a percent sign followed by its two-digit hexadecimal value. A space becomes %20, an ampersand becomes %26, and a UTF-8 character such as é expands to %C3%A9 — two bytes, two escapes. Decoding reverses the process.

A worked example

Suppose you want to put the search phrase cafés & bars into a query string. Encoding it gives caf%C3%A9s%20%26%20bars: the accented é becomes its two UTF-8 octets, the spaces become %20, and the ampersand becomes %26 so it is not mistaken for a separator between parameters. Paste a whole URL instead and the parser below splits it on the ? and lists every key and value for you.

Reserved characters worth knowing

CharacterStructural role in a URLEncoded
spaceWord separator (not allowed raw)%20
?Starts the query string%3F
&Separates key=value pairs%26
=Binds a key to its value%3D
/Path segment separator%2F
#Starts the fragment / anchor%23

The unreserved characters A–Z a–z 0–9 - . _ ~ are never encoded — they have no special meaning, so they always pass through untouched in either direction.

Privacy note: every conversion and the query parser run locally with built-in browser functions. Your input is never transmitted, logged or stored, so it is safe to paste URLs that contain access tokens or session identifiers.

Frequently asked questions

What is the difference between encodeURIComponent and encodeURI?

This tool uses encodeURIComponent, which percent-encodes every reserved character including / ? & = # and the space. That is what you want when encoding a single query value or path segment. encodeURI is gentler — it leaves the structural characters of a full URL intact — so it is only safe on a complete address you do not want to break apart.

Why is a space sometimes %20 and sometimes a plus sign?

In the path and most of a URL a space becomes %20. In the older application/x-www-form-urlencoded format used by HTML form submissions, a space is encoded as a plus sign (+). Both are valid in their contexts. encodeURIComponent always produces %20, which decodes correctly everywhere.

Why does decoding throw a URIError?

Percent-encoding must be a % followed by exactly two hexadecimal digits that form valid UTF-8. A stray % or a malformed sequence like %ZZ or %E0%80 cannot be decoded, so the browser raises a URIError. The tool catches it and shows the message instead of freezing, so you can fix the broken sequence.

What does the query parameter parser do?

Paste a full URL or a raw query string and the tool splits it on the ? and reads every key=value pair with the native URLSearchParams API. It shows each decoded key and value plus the re-encoded segment, which is handy for inspecting tracking parameters, debugging redirects, or confirming a value survived a round trip.

Is my input sent anywhere?

No. Encoding, decoding and query parsing all run in your browser with the built-in encodeURIComponent, decodeURIComponent and URLSearchParams functions. Nothing is uploaded, logged or stored, so it is safe to paste URLs that contain tokens or session identifiers.