Developer Tools
URL Encoder / Decoder
Encode and decode URLs instantly. Compare encodeURI vs encodeURIComponent, parse URL components, and recursively decode multi-encoded strings.
100% local
Runs in your browser
Zero sent
No tracking, no servers
Input
This input appears to be already encoded. Check the decoded result below.
Results
encodeURIComponent
encodeURI
Decoded
Enter a URL
Not a valid URL. Try adding https:// at the beginning.
Multi-encoded input
Could not decode — input contains invalid percent-encoding.
How to use
-
1
Choose a mode using the tabs above: Encode/Decode for basic encoding, URL Parser to break down a URL, or Recursive Decode for multi-encoded strings.
-
2
Type or paste your text or URL. In Encode/Decode mode, results update live as you type showing both encodeURI and encodeURIComponent outputs.
-
3
Copy the result you need. The tool detects already-encoded input and warns you to prevent double-encoding mistakes.
-
4
Parse URLs into their components (protocol, host, path, query params, hash) or recursively decode multi-encoded strings to see every decoding step.
Frequently asked questions
What is URL encoding?
URL encoding (also called percent-encoding) replaces unsafe characters in a URL with a percent sign followed by two hex digits. For example, a space becomes %20. This ensures URLs are transmitted correctly across the internet.
What is the difference between encodeURI and encodeURIComponent?
encodeURI encodes a full URL but preserves characters like :, /, ?, #, and & that have special meaning in URLs. encodeURIComponent encodes everything except letters, digits, and - _ . ~ making it suitable for encoding individual query parameter values.
What is recursive decoding?
Sometimes URLs get encoded multiple times (double or triple encoded). For example, a space might become %2520 instead of %20. Recursive decoding repeatedly decodes until no more encoded characters remain, revealing the original string.
Is my data stored anywhere?
No. All encoding and decoding happens entirely in your browser using JavaScript. Your URLs and text are never sent to any server.
Can I parse query parameters from a URL?
Yes. Switch to the URL Parser tab, paste any URL, and the tool will break it down into protocol, host, port, path, query parameters, and hash fragment. Each query parameter is shown as a separate key-value pair.