URL Encode & Decode Online
Paste a URL, a query parameter or any text to percent-encode or decode it (RFC 3986). Handles full UTF-8 (accents, emojis) and shows the query string parameters in a table. Everything runs locally in your browser.
Query string parameters
| Parameter | Decoded value |
|---|
How to URL encode or decode a string
- Paste the URL or text into the input panel.
- Pick a mode: "Component" for parameter values (also encodes / ? & =) or "Full URL" for a whole address (keeps its structure intact).
- Click "Encode" or "Decode". If the input is a URL, its decoded parameters are listed in a table.
- Copy the result or download it as a .txt file.
What is URL encoding (percent-encoding)?
URLs can only contain a limited set of ASCII characters. Anything else — spaces, accented letters, emojis or reserved symbols such as &, ?, = or # — has to be converted to its UTF-8 bytes written as %XX. For example, a space becomes %20 and "é" becomes %C3%A9.
Decoding reverses the process and turns %XX sequences back into readable text. It is handy for reading tracking links, debugging OAuth redirect URIs, inspecting UTM parameters or understanding what a form is actually submitting.
Frequently asked questions
What is the difference between encodeURI and encodeURIComponent?
encodeURI is meant for a complete URL and leaves the characters that form its structure (: / ? # & =) untouched. encodeURIComponent is meant for a single value, such as a search parameter, and encodes those characters too. When you put text inside a query string, always use Component mode.
Why are spaces sometimes + and sometimes %20?
In a URL path a space is encoded as %20. HTML forms (application/x-www-form-urlencoded) use + instead. Enable "Treat + as space" when decoding data that came from a form submission.
Why do I get an error when decoding?
It happens when a % is not followed by two valid hex digits, or when the bytes don't form valid UTF-8 (for example, text that was encoded as Latin-1). Check that the string isn't truncated.
Is my data sent to a server?
No. Encoding and decoding are done with JavaScript inside your browser; nothing leaves your device.