URL Encoder Decoder
Encode URLs and decode percent-encoded URL strings.
Encoder tool
Prepare safe URL parameters or decode encoded links in seconds.
Encode URLs and decode percent-encoded URL strings.
Continue the workflow with nearby developer and data utilities.
Paste the text you want to convert into the input box. Press Encode to turn spaces, punctuation, and special characters into percent-escapes such as %20 and %26 so the value is safe to drop into a link, or press Decode to turn an already encoded string back into readable text. The Copy button places the result on your clipboard so you can paste it straight into a browser address bar, an analytics link, or your code. There is nothing to install and no account to create.
A URL may only contain a limited set of characters. Letters, digits, and a few marks like the hyphen and underscore are allowed as-is, but everything else has to be represented indirectly. Percent-encoding takes the byte value of a disallowed character and writes it as a percent sign followed by two hexadecimal digits, so a space becomes %20 and an ampersand becomes %26. Reserved characters such as ?, &, =, and / have a structural job in a URL, so when they appear inside a value rather than between parts of the address they must be encoded to avoid confusing the server. Decoding simply reverses the process, restoring the original text byte for byte.
The table below shows characters that frequently need escaping when they appear inside a query parameter or path segment. Each one maps to a fixed percent sequence, so the conversion is fully reversible.
| Character | Name | Percent-encoding |
|---|---|---|
| (space) | Space | %20 |
| & | Ampersand | %26 |
| ? | Question mark | %3F |
| / | Slash | %2F |
| = | Equals sign | %3D |
| # | Hash | %23 |
Non-English letters are encoded as multiple bytes, so a Cyrillic or Georgian character usually turns into two or more percent sequences such as %D0%B0.
Suppose you want a link that searches for password generator. If you write ?q=password generator the space breaks the URL. Encoding only the value gives ?q=password%20generator, which every browser and server reads correctly. If the search term itself contained an ampersand, for example tips & tricks, encoding turns it into tips%20%26%20tricks so the & is not mistaken for the start of a new parameter. To read such a link later, paste it here and choose Decode to see the original phrase.
Anyone who builds links by hand runs into encoding sooner or later: a marketer assembling campaign tracking parameters, a developer testing an API endpoint, or a support agent trying to read a redirect that an application generated. Doing the conversion in your head is error-prone, and a single un-escaped space or ampersand can silently send the wrong request. This tool encodes a value in one click and decodes a tangled query string back into plain text so you can see exactly what a link contains, fix a broken parameter, or prepare a value that is guaranteed to survive being placed in a URL.
Encoding and decoding use the browser's own built-in functions, the same routines your application code would call, so the output matches what a real request will carry. Everything happens locally on your device: nothing you paste is uploaded to a server, logged, or stored, which means you can safely process internal URLs, signed links, or parameters that include private data. If a decode looks wrong, check whether the source used a plus sign for spaces instead of %20, which is common in submitted form data.
URL encoding, also called percent-encoding, replaces characters that are unsafe or reserved in a web address with a percent sign followed by their hexadecimal byte value. A space becomes %20, an ampersand becomes %26, and a question mark becomes %3F. You need it whenever a value that goes into a query parameter, a path segment, or a form submission might contain spaces, punctuation, or non-English letters, because an un-encoded special character can break the link or be misread by the server.
encodeURIComponent encodes a single value such as one query parameter and escapes the reserved characters that separate parts of a URL, including the ampersand, equals sign, question mark, and slash. encodeURI is meant for an entire address and deliberately leaves those structural characters alone so the URL stays usable. Use encodeURIComponent for the individual pieces you insert into a URL, and encodeURI only when you are cleaning up a whole link.
In the older application/x-www-form-urlencoded format used by HTML form submissions, a space is written as a plus sign rather than %20. Both conventions still appear in the wild, so a query string may contain either. When you decode form data you often need to turn a plus back into a space, whereas percent-encoding from encodeURIComponent always uses %20 and treats a literal plus as %2B.
Paste the encoded text into the box and choose Decode. The tool converts every percent sequence such as %20 or %D0%B0 back into the original character, so a parameter like search%20term%3Fyes becomes the readable search term?yes. This makes it easy to inspect tracking links, debug redirects, and read parameters that an application wrote in encoded form.
No. Encoding and decoding both run entirely in your browser using the built-in JavaScript functions, so nothing you paste is uploaded, logged, or stored anywhere. You can safely process internal links, access tokens, or parameters that contain private data without it leaving your device.