All tools · 🔤 Encode / Decode
🔗 URL Encoder / Decoder
URL encoding (percent-encoding) replaces unsafe characters in URLs with %XX hex codes. Used for query strings, redirects, OAuth state, and any time you stuff arbitrary data into a URL. This tool handles both encode and decode with proper UTF-8 handling.
Examples
hello world & friendshello%20world%20%26%20friendshttps%3A%2F%2Fexample.com%2Fpath%3Fq%3D1https://example.com/path?q=1cafécaf%C3%A9Frequently asked questions
When do I need URL encoding?
Anywhere a value goes into a URL: query strings, path segments, fragments, OAuth redirect parameters. The browser handles forms automatically; you need it manually when building URLs programmatically.
What is the difference between encodeURI and encodeURIComponent in JS?
encodeURI preserves reserved characters like / ? # & = because it assumes you are encoding a whole URL. encodeURIComponent encodes everything — use it for individual query values.
Why does space become %20 sometimes and + other times?
In query strings (application/x-www-form-urlencoded), spaces conventionally become +. In path segments, they become %20. This tool uses %20 throughout.
Can I encode a URL twice?
You can, but you usually should not — each pass turns % into %25, growing the string. Decode in the same number of passes you encoded.
About this tool
URL Encoder / Decoder runs entirely in your browser using standard Web APIs. No data is sent to any server. The source for this tool is in our public GitHub repository.
Related tools
- 🔤 Base64 Encoder / Decoder — Encode text to Base64 or decode a Base64 string back to UTF-8 text.
- 🔡 HTML Entities Encoder — Encode/decode HTML entities like & < > " and named entities.
- 🔢 Hex ↔ ASCII / Text — Convert text to hexadecimal byte sequence and back. UTF-8 aware.
Why this tool
vs typical free web-tool sites
| 1vw | Typical free site | |
|---|---|---|
| Price | Free | Free |
| Signup required | No | Often (for premium features) |
| Ads inside the tool | No | Yes (banner + video) |
| Data sent to server | No (browser-only) | Yes (inputs analyzed for ads) |
| Total tools | 96 | Often <20 or scattered across sites |
| Bookmarkable URL per tool | Yes | Mixed |
| Loads in under 1s | Yes (static) | Often slow (ad tracking) |
| Multilingual | EN / ES / PT / FR / DE | Usually EN only |
| Open source | Yes | No |