URL Encode/Decode
URL encoding/decoding tool for handling special characters in web addresses
🚀 Quick Start
- Enter the content above (URL, text, CJK, etc)
- Click Encode or Decode to switch the mode
- Click the button to start; the result appears in the same textarea
- Use the copy button below to copy
📌 Common Scenarios
- API parameters: encode query parameters and request bodies to ensure correct transmission of special characters
- Form submission: handle GET/POST data; supports CJK and special symbols
- Share links: generate URLs with CJK/special characters without garbling
- Search queries: encode keywords, especially when they include & = # ?
🧭 Usage Advice
- Avoid double encoding: check whether content already contains %XX sequences
- Partial encoding: encode only parameter values (e.g., ?key=encoded), keep the URL structure
- Debugging: decode parameters in network requests to locate issues quickly
- Reserved characters: : / ? # [ ] @ ! $ & ' ( ) * + , ; = have special meaning; when used as data they generally need encoding (context-dependent, especially : / ? # & = +)
- Character encoding: non-ASCII characters are encoded in UTF‑8 as 1–4 bytes, each byte written as %HH
⚠️ Limitations & Compatibility
- URL encoding ≠ encryption: a reversible format transform that does not protect sensitive data
- URL length: recommended total length < 2048 characters (varies by browser/server)
- Space differences: spaces in query strings may be + (form encoding) or %20 (general); this tool uses %20 by default
- Very long text: may cause the browser to become unresponsive or crash; consider processing in parts
🔒 Privacy & Security
- All processing happens in your browser; data never leaves your device
- Sensitive data (passwords, keys, tokens) should be encrypted, not encoded
❓ FAQ
What is a URL? Why do we “encode” it?
URL (Uniform Resource Locator) was introduced by Tim Berners‑Lee in the 1990s for the Web, using a human‑readable string to describe scheme/host/path/query/fragment. To avoid data characters being mistaken for delimiters (e.g., ? & # = /) and to handle spaces, non‑ASCII text and emoji, URLs convert such characters to %HH percent‑encoding (e.g., space→%20, “/” in a parameter value→%2F). In application/x‑www‑form‑urlencoded contexts, spaces may also be written as “+” (outside forms, %20 is recommended). URL encoding is a reversible formatting step used to keep links robust; it does not provide encryption or confidentiality.
Does encoding protect sensitive information?
No. Encoding is a reversible format conversion. Passwords, API keys and other secrets must be encrypted
Why is a space sometimes + and sometimes %20?
Forms (application/x-www-form-urlencoded) use +, while RFC 3986 generally uses %20. This tool defaults to %20 for better compatibility; if you need +, use it in form contexts or replace manually
How can I tell if content is already encoded?
Encoded content contains %XX sequences (% followed by two hex digits, e.g., %E4%BD%A0). If you see many such sequences, it is already encoded; avoid encoding again
Why must non‑ASCII characters be encoded?
The URL standard allows only ASCII. Non‑ASCII text (e.g., accented letters, emoji) must be percent‑encoded (UTF‑8 bytes as %HH) for safe transmission
Do slashes / need encoding?
It depends on position: as a path separator, do not encode (e.g., /api/users). As a parameter value, encode as %2F (e.g., ?path=%2Fhome%2Fuser)