QQudo Outils

URL Encoder & Decoder

Encode and decode URLs, query parameters and form data. Supports Chinese, Emoji, batch processing and repeated decoding.

🔒All URL encoding and decoding is done locally in your browser. Your input is never uploaded to Qudo servers.
Characters: 0UTF-8 Bytes: 0Lines: 0
Characters: 0UTF-8 Bytes: 0Lines: 0Encoded Length: 0Size Ratio:
Auto-convert on input

Keyboard Shortcuts

Ctrl/Cmd + Enter: Execute conversion

Ctrl/Cmd + Shift + C: Copy result

Alt + S: Swap input and output

Esc: Close error or example panel

URL Encoder & Decoder Tool

This tool can encode and decode complete URLs, URL components and form parameters. It supports Chinese characters, Emoji, batch content and repeated decoding. All processing happens locally in your browser.

What is URL Encoding?

Certain characters in URLs must be converted into a percent sign followed by two hexadecimal digits. Unicode characters such as Chinese or Emoji are first converted to UTF-8 bytes, then each byte is percent-encoded. For example, the Chinese character 中 becomes %E4%B8%AD.

encodeURI vs encodeURIComponent

encodeURI is designed for complete URLs and preserves structural characters like ://?&=#. encodeURIComponent is designed for individual query parameter values or path segments and encodes all special characters. When embedding one URL inside another URL’s parameter, always use encodeURIComponent.

%20 vs +

In standard percent encoding, spaces are represented as %20. In form encoding (application/x-www-form-urlencoded), spaces are represented as +. A literal plus sign should be encoded as %2B in form mode.

Examples

Original: 中文 测试
URL Component: %E4%B8%AD%E6%96%87%20%E6%B5%8B%E8%AF%95
Full URL: https://example.com/search?q=中文 测试
Encoded URL: https://example.com/search?q=%E4%B8%AD%E6%96%87%20%E6%B5%8B%E8%AF%95

Common Use Cases

  • Building query parameters for API requests
  • Handling Chinese or non-ASCII URLs
  • Constructing callback and redirect URLs
  • OAuth redirect URI encoding
  • Analyzing server logs with encoded paths
  • Debugging garbled text issues
  • Nesting URLs inside URL parameters
  • HTML form data submission

Limitations

  • URL encoding is not encryption. Anyone can decode the result.
  • Do not treat encoded content as encrypted or secure data.
  • Different contexts require different encoding modes.
  • Automatic repeated decoding may produce unexpected results.
  • Maximum input length is 50,000 characters.

Data & Privacy

All URL encoding and decoding is performed entirely in your browser. No input content is sent to any server. Results are displayed as plain text and are never stored.

Frequently Asked Questions

Is URL encoding the same as encryption?
No. URL encoding is a format conversion, not encryption. Anyone can decode the result. It should not be used to protect sensitive data like passwords or tokens.
What is the difference between encodeURI and encodeURIComponent?
encodeURI preserves URL structure characters like :/?# and is suitable for complete URLs. encodeURIComponent encodes all special characters and is suitable for individual parameter values.
Why does Chinese text become so many percent signs?
Each Chinese character is typically 3 bytes in UTF-8, and each byte becomes a %XX sequence. So one Chinese character becomes 9 characters like %E4%B8%AD.
Should spaces be encoded as %20 or +?
It depends on the context. Standard URL encoding uses %20. Form encoding (application/x-www-form-urlencoded) uses +. This tool handles both correctly based on the selected mode.
Why does a plus sign decode to a space?
In form encoding mode, + represents a space. If you need a literal plus sign, it should be encoded as %2B. Switch to URL Components mode if you want + to remain as-is.
Why does decoding show URI malformed?
This usually means the percent-encoded content contains invalid byte sequences, such as incomplete UTF-8 or illegal hex values. Check that the encoded text is complete and correct.
Can I encode a URL twice?
Yes. Select URL Components mode and encode the content. Then encode the result again. To decode, use the decode count feature to automatically decode multiple times.
How do I decode a repeatedly encoded URL?
Set the decode count to Auto or specify the number of passes (1-5). The tool will decode repeatedly until the content no longer changes or an error occurs.
Do #, ?, & and = need to be encoded?
In URL Components mode, yes – they are all encoded. In Full URL mode, they are preserved as structural characters. Choose the mode based on your use case.
Can I process multiple lines at once?
Yes. Enable Process each line independently in line handling options. Each line will be encoded or decoded separately, preserving the original line count.
Is my input uploaded to a server?
No. All encoding and decoding is performed entirely in your browser. No data is sent to any server.
Why does the encoded result become much longer?
Each non-ASCII byte becomes 3 characters (%XX). Chinese characters are typically 3 bytes each, becoming 9 characters. Emoji can be 4 bytes, becoming 12 characters.

All URL encoding and decoding is done locally in your browser. Your input is never uploaded to Qudo servers.