Web URL utility
URL Encoder & Decoder
Percent-encode a URL component or decode it back to text, including Unicode. Everything runs in your browser.
Choose Encode for reserved characters and Decode for percent-encoded text.
How to encode and decode URL components
Encode a component
Enter the component text, then choose Encode to run encodeURIComponent behavior.
Decode a component
Enter percent-encoded text, then choose Decode to run decodeURIComponent behavior.
Copy and Clear
Copy copies only the current output. Clear resets the current input and output.
Percent-encoding examples
Query-style text example
Input: name=hello world&city=New York
Encoded output: name%3Dhello%20world%26city%3DNew%20York
Unicode example
Input: café
Encoded output: caf%C3%A9
Component scope and encoding rules
URL components, not full URLs
Percent encoding represents a byte with % and two hexadecimal digits. This tool handles a component such as a query parameter value or path segment; it does not parse/build URLs or provide encodeURI's complete-URL behavior.
Spaces and plus signs
This tool follows encodeURIComponent and decodeURIComponent, not application/x-www-form-urlencoded. Encode writes a space as %20. Decode turns %20 back into a space but leaves a raw + as +; it never treats + as a space.
Unicode and UTF-8 bytes
Valid Unicode round-trips through escapes for its UTF-8 bytes. This tool does not call percent encoding encryption, protection, compression, or complete-URL transformation.
Malformed input and practical limits
Malformed percent escapes
%ZZ errors because Z is not a hexadecimal digit, so the percent escape is malformed.
Incomplete or invalid UTF-8
%E0%A4 contains percent-encoded bytes but is an incomplete UTF-8 sequence, so decoding errors instead of returning partial/replacement text.
Browser-dependent limits
Input capacity depends on browser/device; no fixed maximum is promised, and very large pasted text can be slow or fail. This tool does not imply file/upload support.
Private, browser-based URL encoding
URL-component text is encoded or decoded in this browser. It is not uploaded or sent to a 247 Tools server, and the tool does not save an input or output history. Copy writes only the current output to your system clipboard when you choose it. Clear removes the current input and output from the page; it does not clear the system clipboard.