Percent-encode or decode a URL component in your browser, using JavaScript's encodeURIComponent rules.
Encoding and decoding happen in your browser. Query values and tokens are never uploaded.
Uses encodeURIComponent and decodeURIComponent, so results match what JavaScript produces.
Non-ASCII text is encoded as UTF-8 percent sequences and decoded back correctly.
A broken sequence like %E0%A4%A is located and explained instead of crashing.
When you use URL Encoder / Decoder, your data never leaves your browser. All transformations execute in-memory on your local machine with zero server uploads. Web assets are downloaded to run the tool, but your input data is never transmitted.
No. Encoding and decoding run entirely in your browser. Nothing you type is uploaded or stored. The page does download the code needed to run the tool.
No. It encodes one URL component, such as a query value. Reserved characters like :, /, ?, and & are encoded too, so pasting a full URL would break its structure. Encode the individual parts instead.
encodeURIComponent writes a space as %20. The + form belongs to HTML form encoding. Decoding here leaves + unchanged for the same reason.
It is encoded again: % becomes %25, so hello%20world turns into hello%2520world. Decoding reverses one level at a time.
Encodes one URL component (a query value or path segment) with encodeURIComponent, so spaces become %20 and characters such as &, / and ? are escaped. It does not parse or rebuild a whole URL, and decoding leaves + as +. Non-ASCII text is UTF-8. Press Ctrl+Enter (Cmd+Enter on Mac) in the input to convert. Processed locally in your browser.