URL Encoder/Decoder
Encode and decode URLs with component or full URL support
Last updated: October 14, 2026
Encodes all special characters including / ? & = : @ + $ , #. Best for query parameters and path segments.
Examples:
How to use
- Choose between Encode or Decode mode
- For encoding, select Component (for query params) or Full URL (for complete URLs)
- Enter your text or URL in the input field
- Click "Encode" to process
- Use "Copy" to copy the result to clipboard
When to use each type:
- Component encoding: Query parameters, form data, path segments
- Full URL encoding: Complete URLs with protocols, keeping URL structure intact
Result actions
Copy or download the tool output, or share a link to URL Encoder/Decoder.
Get new tools in your inbox
An occasional email when we ship new free tools. No spam, unsubscribe anytime.
Related tools
Base64 Encode
Convert plain text to base64 encoded format instantly
Convert Base64 to Image
Decode Base64 strings back to viewable image files
Convert Hex to Text
Convert hexadecimal strings to readable text instantly
Image to Base64
Convert image files to Base64 encoding
Convert Hex to Image
Convert hexadecimal or Base64 data into an image file
Change CSV Delimiter
Convert CSV data between different delimiters with proper quote handling
Percent-encode a parameter or a complete URL
Choose Encode or Decode, then select Component or Full URL. Component encoding uses the browser's encodeURIComponent behavior and is suited to an individual query parameter value: it encodes characters such as spaces, ampersands, question marks, and slashes. For example, hello world becomes hello%20world.
Full URL encoding uses encodeURI, which leaves URL structure characters such as :, /, ?, &, and # in place. Use it for a URL string, not for an individual parameter value. Decoding tries component decoding first, then full-URL decoding. Malformed percent escapes produce an error.
Encoding a parameter is not the same as encoding the entire query string: encode each key and value separately before joining them with = and &. Avoid encoding the same value more than once. Processing runs in your browser; entered text is not uploaded.