URL encoding guide
How to use a URL encoder and decoder
A URL encoder and decoder converts text into a format that browsers and web servers can read safely. URLs use certain characters for structure: a question mark starts a query string, an ampersand separates parameters, and a hash points to a fragment. When one of those characters is part of the actual value you want to send, it needs encoding. This free URL encoder turns those characters into percent-encoded values such as %20 for a space and %26 for an ampersand. The result is a clean, shareable URL that preserves the meaning of your data.
Encode URL values before you share them
Use a URL encoder when you are adding user-entered text to a link, building a search query, creating a redirect, or preparing an API request. For example, a search phrase like tea & coffee must be encoded before it becomes part of ?q=; otherwise the ampersand can be interpreted as the start of another parameter. The default Component format is the best choice for most individual values, including query parameters, path segments, labels, and form fields. If you need to preserve the punctuation that already gives a complete URL its shape, choose the Full URL option instead.
Use URL decode online to read encoded text
URL decode online when you receive a link containing values like %2F, %3F, or %E2%9C%93 and need to see the original text. A URL decoder reverses percent encoding, making debugging redirects, tracking links, API responses, and copied query strings much easier. Paste the encoded value, select Decode, and the tool updates as you type. If the value contains malformed percent encoding, the URL decoder shows a clear warning instead of silently changing your data. This is especially helpful when diagnosing links that were edited manually or encoded more than once.
Choose the right URL encoding format
URL encoding is not one-size-fits-all. Component encoding is based on encodeURIComponent() and encodes reserved characters so a value can safely live inside another URL. RFC 3986 mode is a stricter URL encoder for cases that require every reserved character to be handled consistently. Form encoded mode follows the common HTML form convention where spaces become a plus sign. Full URL mode follows encodeURI(), keeping structural characters such as slashes, colons, and question marks intact. Selecting the right format prevents accidental changes to a URL while still protecting the data inside it.
URL decode and encode with Python
If you are writing scripts, Python URL decode operations use the standard library. Import unquote from urllib.parse to decode a value, or use quote to encode one. The browser tool on this page is useful for checking the result before you add it to code, comparing an API payload, or testing a problematic link without sending the text anywhere. Whether you need a Python URL decode for a log entry or a quick URL decoder online for a copied link, the encoding rules are the same: preserve URL structure and encode data that could be mistaken for syntax.
const encoded = encodeURIComponent("tea & coffee");
const decoded = decodeURIComponent("tea%20%26%20coffee"); from urllib.parse import quote, unquote
encoded = quote("tea & coffee", safe="")
decoded = unquote("tea%20%26%20coffee") | Space | %20 | Ampersand | %26 |
|---|---|---|---|
| Question mark | %3F | Slash | %2F |
Private, fast, and easy to check
This URL encoder and decoder runs entirely in your browser. The text you paste is processed locally, so you can inspect sensitive query strings, callback URLs, and API parameters without uploading them to a server. Use it as a quick URL decoder for troubleshooting, a URL encoder for creating links, or a dependable reference when you need to confirm how a character will be represented. Start with the default Component format, switch between Encode and Decode as needed, and copy the result when it looks right.