Encode and decode URLs online for free. Convert special characters into URL-safe strings with percent-encoding support for developers working with web APIs.
URL encoding (percent-encoding) follows RFC 3986: characters outside the unreserved set (A-Z, a-z, 0-9, - _ . ~) get converted to %XX hexadecimal. JavaScript's encodeURIComponent() does this, transforming spaces to %20, ampersands to %26, etc. It's essential for query parametersβ'key=value&other=data' breaks if 'value' contains an unescaped &. Decoding reverses the process using decodeURIComponent(). Some characters (/, :, ?) have special meaning in URLs, so encoding depends on context: encodeURI() preserves them for full URLs, encodeURIComponent() escapes everything for parameters. This tool uses the component version.
Learn more about this tool and related topics in our blog.
Privacy isn't a perk, it's a requirement. See why top developers are ditching cloud converters for local-first browser utilities.
Peek under the hood of Filemint. A deep dive into WebAssembly, Web Workers, and the cutting-edge tech powering our private browser tools.
This tool uses client-side WebAssembly to ensure your data never touches a server. Secure, fast, and 100% private by design.
Choose 'Encode' or 'Decode' mode.
Type or paste your text into the input box.
The result appears instantly using encodeURIComponent() or decodeURIComponent().
Click the copy icon to save the result to your clipboard.
Use the 'Clear' button to start over.
Spaces become %20 in URLs
Hello World
Hello%20World
Special characters in search queries
name=John Doe&email=john@example.com
name%3DJohn%20Doe%26email%3Djohn%40example.com
Make encoded URLs readable again
product%3Dlaptop%26price%3D%24999
product=laptop&price=$999
Encode user search queries for URLs safely.
Understand what's actually being sent to the server.
Create tracking URLs with parameters.
Share links containing non-English text.
**Unreserved** (safe, don't need encoding): A-Z, a-z, 0-9, -, _, ., ~ **Reserved** (special meaning, encode if used as data): : / ? # [ ] @ ! $ & ' ( ) * + , ; = **Everything else**: MUST be encoded (spaces, unicode, etc.) When in doubt, encode it! Better safe than broken URLs.
Each encoded character becomes %XX where XX is hexadecimal: - Space: %20 - #: %23 - &: %26 - =: %3D - ?: %3F For Unicode: First convert to UTF-8 bytes, then encode each byte. Example: β¬ β UTF-8: [E2, 82, AC] β %E2%82%AC
**Path** (example.com/path/to/page): Encode spaces, special chars, but NOT forward slashes **Query string** (example.com?key=value): Encode EVERYTHING except & (separator) and = (assignment) **Fragment** (example.com#section): Encode special characters, rarely used Different parts, different rules! Know where your data goes.
Power up your workflow with related utilities.
Instantly encode text or assets to Base64 and decode them back. Full UTF-8 support for safe data transmission and debugging.
Build custom, track-free QR codes for URLs, WiFi, and contact info. Download in high-res PNG or infinitely scalable SVG formats.
Master the "God Mode" of text search. Test and debug regular expressions with real-time highlighting and capture group breakdowns.
Learn more about this tool and related topics in our blog.
Privacy isn't a perk, it's a requirement. See why top developers are ditching cloud converters for local-first browser utilities.
Peek under the hood of Filemint. A deep dive into WebAssembly, Web Workers, and the cutting-edge tech powering our private browser tools.