Online URL Encoder & Decoder
Encode and decode URLs with percent encoding, UTF-8 support and Component vs URI modes
URL Encoder / Decoder
💡 Press Ctrl + Enter to process
How to Use URL Tool
- 1 Paste your text or URL into the input box
- 2 The tool auto-detects if decoding is needed
- 3 Choose encoding mode: Component (full) or URI (preserve structure)
- 4 Click "Encode" or "Decode" manually if needed
- 5 Copy the result with one click
What You Get
Bi-directional converter compliant with RFC 3986. Supports both encodeURIComponent (encodes everything) and encodeURI (preserves URL structure).
Input: Hello World!
Output: Hello%20World%21
Input: äöü@email.com
Output: %C3%A4%C3%B6%C3%BC%40email.com
Input: price=100€
Output: price%3D100%E2%82%AC
How do I URL encode a string?
Paste your text, click Encode. Special characters become percent-encoded: spaces become %20, ampersand becomes %26. Safe for use in URLs.
How do I decode a URL encoded string?
Paste the encoded string (with %20, %26, etc.), click Decode. The original text with special characters is restored.
What is the difference between encodeURI and encodeURIComponent?
encodeURIComponent encodes everything except A-Za-z0-9-_.~ (use for query values). encodeURI preserves URL structure characters like : / ? # @.
How do I encode spaces in URLs?
Spaces become %20 in URL encoding. Some systems also accept + for spaces in query strings, but %20 is universally compatible.
Why does URL encoding fail on some strings?
Invalid percent sequences like lone % or incomplete %E cause errors. The tool shows an error and the original input when decoding fails.
Can I URL encode Unicode characters?
Yes. Characters like äöü, 中文, and emojis are encoded as UTF-8 byte sequences (e.g., %C3%A4 for ä). Full Unicode support.
When should I use URL encoding?
Encode query parameter values, form data, and any text going into URLs. This prevents special characters from breaking URL parsing.
How do I encode the ampersand character?
Ampersand (&) becomes %26. This is important because & normally separates query parameters in URLs.
All processing happens in your browser. No data is sent to any server.