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.
Related guide: What is Base64 encoding (and when to use it) — a plain-English explainer of the ideas behind this tool.

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.