Encode/Decode URL
Encode text for safe use in a URL, or decode a URL-encoded string back to readable text.
Result
Recommended Settings
Pro Tips
- •'Component' encoding escapes every reserved character, including & and =, so it's the right choice for a value going inside a query parameter
- •'Full URI' encoding leaves URL structure characters like :, /, ?, and & untouched, so it's the right choice for encoding an entire URL
- •Spaces are encoded as %20 rather than + - use + only when specifically required by application/x-www-form-urlencoded contexts
- •Use the swap button to instantly verify a round-trip by feeding the result back in as input
Most Popular
Most developers use Component encoding to safely embed a value like a search query inside a query string parameter
When to Use This Tool
Safely encode a value containing spaces or special characters for a URL query parameter.
Decode a URL-encoded link from a log file or browser address bar back into readable text.
Check whether a URL is correctly or incorrectly encoded when troubleshooting a broken link.
Encode a full destination URL for use as a redirect parameter.
How It Works
Apply the browser's standard URI encoding or decoding function to your input
Choose between encoding every reserved character (Component) or preserving URL structure characters (Full URI)
Display the result, or a clear error if the input isn't validly encoded
100% Private
Files never leave your device. All processing happens locally in your browser.
Lightning Fast
Powered by Client-side URI encoding (encodeURIComponent / encodeURI) for optimal performance on modern browsers.
Open Source
Built with verified, open-source libraries. Fully transparent.
Frequently Asked Questions
What's the difference between Component and Full URI encoding?
Component encoding escapes all reserved characters, including &, =, and /, making it safe for a single value inside a URL. Full URI encoding preserves those structural characters so an entire URL still works as a URL.
Why do spaces become %20 instead of +?
%20 is the standard percent-encoding for a space in a URL path or component. The + character is only interpreted as a space specifically within application/x-www-form-urlencoded form bodies.
Why did decoding fail?
The input contains a % that isn't followed by two valid hexadecimal digits, which isn't valid percent-encoding.
Is my data sent anywhere?
No. All encoding and decoding happens locally in your browser.