URL Encoder & Decoder
Percent-encode text for safe use in URLs, or decode %20-style strings back to readable text. Choose component, full URL or form-data mode, and see a breakdown of any URL you paste.
Free URL Encoder and Decoder
URL encoding, also called percent-encoding, replaces characters that are not allowed or have a special meaning in a web address with a percent sign followed by two hexadecimal digits. A space becomes %20, an ampersand becomes %26, and a letter such as é becomes %C3%A9. This tool encodes text so it is safe to put in a URL and decodes encoded strings back to readable text. It works with every language and emoji, and runs entirely in your browser.
How to Use the URL Encoder and Decoder
- Click Encode to make text URL-safe, or Decode to turn percent-encoded text back into normal text.
- Choose the Type that matches what you are working with (see the table below).
- Type or paste your input. The result appears as you type.
- Press Copy Output to copy it, or Swap Input and Output to reverse the direction.
If the text is a full web address, a URL parts panel shows its protocol, host, path, query and each query parameter in decoded form.
Which Type Should You Choose?
| Type | What it does | Use it for |
|---|---|---|
| Component | Encodes everything except letters, digits and - _ . ! ~ * ' ( ). Slashes, question marks, ampersands and equals signs are encoded. | A single value, such as a query parameter, a path segment or a redirect URL passed inside another URL. |
| Full URL | Keeps characters that give a URL its structure, such as : / ? # & =, and encodes the rest. | A complete address that contains spaces or non-English characters. |
| Form data | Like Component, but spaces become + and more punctuation is encoded. | HTML form submissions and application/x-www-form-urlencoded bodies. |
Example
| Input | Type | Result |
|---|---|---|
| url encoding & decoding | Component | url%20encoding%20%26%20decoding |
| https://example.com/search?q=url encoding & decoding | Full URL | https://example.com/search?q=url%20encoding%20&%20decoding |
| café | Component | caf%C3%A9 |
Common Percent-Encoded Characters
| Character | Encoded | Character | Encoded | Character | Encoded |
|---|---|---|---|---|---|
| space | %20 | # | %23 | / | %2F |
| " | %22 | $ | %24 | : | %3A |
| % | %25 | & | %26 | = | %3D |
| + | %2B | , | %2C | ? | %3F |
| ; | %3B | @ | %40 | [ ] | %5B %5D |
Why URLs Need Encoding
- Reserved characters have jobs. A
?starts the query,&separates parameters and#starts the fragment. If your data contains them, they must be encoded so they are not mistaken for structure. - URLs are limited to a safe character set. Spaces, accented letters, Devanagari and emoji must be converted to UTF-8 bytes and written as percent sequences.
- APIs and forms need predictable input. Query strings, redirect links and tracking parameters break when special characters are left as they are.
Common Mistakes
- Double encoding. Encoding an already encoded string turns
%20into%2520. Decode once to check what you have before encoding again. - Using Component on a whole URL. It encodes the slashes and colons, so
https://becomeshttps%3A%2F%2Fand the link stops working. Use Full URL, or encode only the value. - Mixing up + and %20. In a form or query string, + means a space. In a path, a + is a plus sign. Choose the matching type when decoding.
Decoding Errors
A percent sign must be followed by two hexadecimal digits, so a stray %, as in 100%, is invalid. When this tool finds a broken sequence it decodes everything it can, leaves the broken part unchanged and shows a warning instead of failing.
Privacy
All encoding and decoding happens in your browser. Nothing you enter is uploaded, stored or logged.
Frequently Asked Questions (FAQ)
Is the URL encoder and decoder free?
Yes. It is free, needs no sign-up and has no usage limit.
Is my data sent to a server?
No. The conversion happens in your browser, so your text never leaves your device.
What is the difference between encodeURI and encodeURIComponent?
encodeURI keeps characters that structure a URL, such as slashes and question marks. encodeURIComponent encodes them too, so it is meant for single values.
Why does a space become %20 or +?
%20 is the standard way to write a space in a URL. A + is used for spaces in form data and many query strings. This tool’s Form data type uses +.
Does it support Unicode, emoji and other languages?
Yes. Text is converted to UTF-8 and then percent-encoded, so non-English characters and emoji encode and decode correctly.
What does Strict RFC 3986 do?
It also encodes the characters ! ‘ ( ) and *, which JavaScript leaves unchanged. Some APIs and signing schemes require this.
Why do I see a warning when decoding?
The text contained a percent sign that is not part of a valid sequence, such as 100%. Those parts are left as they are.
