All encoding and decoding runs locally in your browser. No data is sent to any server.
Switch between encodeURIComponent (for parameters) and encodeURI (for full URLs) with one click.
Results update instantly as you type — no need to click a button for every change.
Correctly handles multi-byte characters: Chinese, Japanese, Korean, Arabic, emoji, and more.
Automatically detects whether input is encoded or plain text and converts accordingly.
Quickly swap encoded and decoded text with the Swap button for bidirectional workflow.
Choose encodeURIComponent for URL parameters or encodeURI for complete URLs. The default mode handles most use cases.
Paste a URL, query string, or any text with special characters into the input area. The tool auto-detects if decoding is needed.
Click the Encode button to percent-encode, or Decode to convert percent-encoded strings back to readable text.
Click Copy to copy the output to your clipboard. Use Swap to quickly reverse the operation.
| Character | encodeURI | encodeURIComponent | Notes |
|---|---|---|---|
| Space ( ) | %20 | %20 | Both encode spaces |
| Slash (/) | / (kept) | %2F | URI preserves path separators |
| Colon (:) | : (kept) | %3A | URI preserves protocol separator |
| Question (?) | ? (kept) | %3F | URI preserves query delimiter |
| Ampersand (&) | & (kept) | %26 | URI preserves param separator |
| Equals (=) | = (kept) | %3D | URI preserves key-value delimiter |
| Hash (#) | # (kept) | %23 | URI preserves fragment identifier |
| Chinese (中) | %E4%B8%AD | %E4%B8%AD | Both encode non-ASCII to UTF-8 bytes |
Encode and decode URLs online free with FreeToolBox — instantly convert special characters in URLs to their percent-encoded equivalents and back. URL encoding (also known as percent-encoding, defined in RFC 3986) replaces characters not permitted in URLs with a % followed by two hexadecimal digits representing the character's byte value. This is essential for web developers building APIs, constructing query strings, handling form submissions, and debugging URL-related issues in any web application.
The tool provides two industry-standard encoding modes: encodeURIComponent for encoding individual URL parameters (encodes everything except unreserved characters A-Z, a-z, 0-9, -, _, ., ~), and encodeURI for encoding complete URLs while preserving structural delimiters like ://?#&=. It features real-time conversion as you type, automatic detection of encoded vs. plain input, full UTF-8 Unicode support for any language, and a convenient input/output swap function. All processing uses JavaScript's native functions running entirely in your browser — no data ever leaves your device. Completely free, instant, no account required.