URL Encoder & Decoder Online for URLs, Text and Query Strings
Decode percent-encoded URLs or encode special characters instantly. Inspect and edit query parameters securely in your browser.
Encode/decode individual values and strings.
Query parameters
| Name | Value | Action |
|---|---|---|
| Parse a URL to inspect its parameters. | ||
Repeated parameters are preserved. Rebuilding uses standard form-style query encoding (`+` for spaces).
Ready to decode. Type or paste text to begin.
Encode and Decode URLs Online Without Changing Their Meaning
Need to decode a URL, convert special characters, or safely place text inside a query parameter? The URL Encoder & Decoder above converts percent-encoded text into readable characters and encodes text for use in web addresses. Choose the right mode for a complete URL, a URL component, or form data.
URL encoding is particularly useful when handling search terms, API request parameters, redirects, tracking links, and text containing spaces, symbols, or non-English characters. The difference between encoding an entire address and encoding a parameter value matters: the same character can represent data in one context and a separator in another.
What Is URL Encoding?
URL encoding, often called percent-encoding, represents certain characters as a percent sign followed by two hexadecimal digits. For example, a space can be represented by %20, an ampersand by %26, and a percent sign by %25. It helps represent text within URL components while distinguishing the data from characters that have a structural role.
Under RFC 3986, letters, digits, hyphens, periods, underscores, and tildes are unreserved. Characters such as ?, &, =, /, and # may be used as URL delimiters, so their treatment depends on which part of the URL is being encoded.
How to Use the URL Encoder & Decoder
How to Decode a URL
Choose Decode
Select the Decode tab in the converter above.
Paste encoded text
For example, paste Hello%20World%21 into the input area.
Read and copy
View Hello World!, then copy the output.
How to Encode a URL
Choose Encode
Switch to Encode to convert readable characters into encoded text.
Select the scope
Choose Component for a parameter value, Full URL for an existing address, or Form Data for form values.
Convert and copy
Enter coffee & tea; Component mode produces coffee%20%26%20tea.
If you already have a URL with several parameters, use the Parse URL tab to inspect the URL structure and review individual key/value pairs rather than decoding all separators into one ambiguous string.
URL Component vs Full URL vs Form Data Encoding
The correct encoding method depends on what you are converting. Encoding a full URL as one component can turn its separators into plain data, while failing to encode a query value can accidentally change a request.
| Mode | Best use | Space | Ampersand |
|---|---|---|---|
| URL Component | Individual query values, parameter names, or path segments | %20 | %26 |
| Full URL | Encoding an existing URL while preserving common separators | %20 | Kept as & |
| Form Data | Form values and application/x-www-form-urlencoded data | + | %26 |
| Strict RFC 3986 | Component encoding with only RFC 3986 unreserved characters left unescaped | %20 | %26 |
encodeURI() vs encodeURIComponent()
In JavaScript, encodeURI() preserves characters used by complete URI syntax, while encodeURIComponent() encodes reserved separators when they are inside a data component. For example, a literal ampersand in a search phrase should generally be encoded as %26 before being placed in a query parameter value.
Practical rule: Encode individual pieces before assembling a URL. Avoid repeatedly encoding a complete URL that is already percent-encoded.
Common URL Encoded Characters
The following examples are useful when reading API requests, search links, and query strings. Encodings shown use UTF-8 where a character needs multiple bytes.
| Character | Percent-encoded form | Notes |
|---|---|---|
| Space | %20 | Often + in form data |
& | %26 | Query parameter separator when unencoded |
= | %3D | Separates key and value in query strings |
? | %3F | Marks the beginning of a URL query |
# | %23 | Fragment separator |
/ | %2F | Path separator when unencoded |
+ | %2B | Often interpreted as space in form data |
% | %25 | Begins a percent-encoded byte |
✓ | %E2%9C%93 | UTF-8 encoding |
😀 | %F0%9F%98%80 | Four UTF-8 bytes |
Decode a Query String and Inspect URL Parameters
Consider https://example.com/search?q=red%20shoes&sort=price&tag=sale&tag=new. Its query contains the keys q, sort, and two tag entries. A good URL parser keeps both tag values instead of collapsing them into one.
| Parameter | Decoded value |
|---|---|
q | red shoes |
sort | price |
tag | sale |
tag | new |
Query strings can contain repeated names, blank values, and percent-encoded separators. If a data value includes a literal &, encode it as %26 so it is not mistaken for a separator.
+ represents a space and a literal plus sign should be written as %2B. In ordinary percent-decoding of a component, a literal + remains a plus sign. These behaviors are not interchangeable.URL Encoding for UTF-8, Unicode, and Emojis
Modern URLs can represent non-ASCII text using UTF-8 percent-encoding. A character may require more than one UTF-8 byte, and each encoded byte receives its own percent sign and hexadecimal value. For example, the check mark ✓ becomes %E2%9C%93, and the emoji 😀 becomes %F0%9F%98%80.
This is why simply replacing a character by a single numeric code is not a reliable URL encoder. Browser-native URL encoding functions handle Unicode text and percent-encoded bytes properly when used for the correct component.
Common URL Decoding Errors and How to Fix Them
Invalid percent escapes
Sequences such as %ZZ or %2 are not complete valid hexadecimal triplets. Check for missing digits or copy/paste damage before trying to decode them.
Malformed UTF-8
An encoded byte sequence can contain valid-looking percent triplets but still fail UTF-8 decoding, such as %E0%A4%A. Make sure all bytes are present and in the expected encoding.
Double URL encoding
Encoding the percent sign in %20 yields %2520. One decoding pass returns %20. Decode a second time only if you know the value was intentionally encoded twice.
Unexpected query parameters
Using full-URL encoding for raw query data may leave & or = unchanged. Choose Component mode for the data value so separators are not mistaken for URL structure.
When debugging a link, first identify whether the input is an entire URL or only one component. Then select the matching mode and avoid applying decoding repeatedly unless the input format specifically requires it.
When Do Developers Use URL Encoding?
- APIs: Safely construct parameters that contain spaces, ampersands, or international characters.
- Search URLs: Encode search terms without changing the URL's structure.
- Forms: Represent form values using application/x-www-form-urlencoded rules.
- Redirect debugging: Inspect an encoded destination value without visiting the destination.
- Analytics and tracking: Review parameters while keeping separators and repeated keys intact.
- Web development: Compare how
encodeURI()andencodeURIComponent()treat special characters.
URL encoding is a representation method, not a security check. Decoding an unfamiliar link can help you inspect it, but a readable URL is not necessarily safe to open.
Frequently Asked Questions
What is a URL decoder?
A URL decoder converts percent-encoded sequences such as %20 into readable characters. Different decoding modes preserve or interpret reserved separators according to the part of the URL being decoded.
How do I URL decode online?
Select Decode in the tool above, paste an encoded URL or text string, choose the appropriate scope, and copy the result. For example, Hello%20World decodes to Hello World.
What does %20 mean in a URL?
%20 represents a space byte in percent-encoding. In form-encoded query values, a space can instead be represented by a plus sign.
What is the difference between URL encoding and URL decoding?
Encoding transforms characters into a representation suitable for a URL component, while decoding reverses that representation. Both require attention to URL separators and form-data rules.
Why does a space sometimes become + instead of %20?
Form encoding represents spaces as +. Component encoding commonly represents them as %20. Use Form Data mode when working with application/x-www-form-urlencoded values.
Should I use encodeURI or encodeURIComponent?
Use encodeURIComponent() for a single parameter value or other URI component that can contain special characters. encodeURI() is designed for an entire URI and preserves many delimiters.
What is double URL encoding?
Double URL encoding means percent-encoded text is encoded again. For example, %20 becomes %2520. Repeated decoding should be intentional because it can change the meaning of delimiters.
Can URL encoding handle emojis and non-English text?
Yes. URL encoding can represent UTF-8 bytes for Unicode characters. For example, 😀 becomes %F0%9F%98%80.
Does URL encoding make a link safe or private?
No. URL encoding is reversible and does not validate a destination. Avoid adding secrets to URLs, and inspect unfamiliar destinations before opening them.
Why am I getting an invalid URL encoding error?
Common causes include incomplete percent sequences, non-hexadecimal digits after %, or malformed UTF-8 byte sequences. Check the input and use the correct decoding mode.
Related Developer Tools
Continue with other browser-based utilities on UtilityDocks.
Reference: RFC 3986, Uniform Resource Identifier (URI): Generic Syntax. Examples are for illustration; always choose encoding rules that match the receiving application.
