URL Encoder / Decoder
Encode or decode full URLs and URI components, with auto-detection, character counts, and validation — instantly, in your browser.
Encode or decodeNo signup. No server calls. Works offline once the page loads.
How It Works
Paste your text
Drop a URL, query string, or any text into the input box.
Pick a mode
Leave it on auto-detect, or force encode/decode and choose between full-URL or component-level encoding.
Copy the result
Review character counts and validation, then copy the output with one click.
Privacy note: everything happens locally in your browser using JavaScript's built-in encoding functions. Nothing is sent to a server.
Common Uses
Building query strings
Safely encode parameter values before appending them to a URL.
Debugging redirects
Decode a percent-encoded redirect URL to see exactly where it points.
Sharing links with special characters
Encode spaces, symbols, and non-ASCII characters so links work everywhere.
Reading server logs
Decode percent-encoded paths and parameters captured in access logs.
Frequently Asked Questions
What is the difference between encodeURI and encodeURIComponent?
encodeURI encodes a full URL but leaves characters like : / ? # that are structurally significant in a URL untouched. encodeURIComponent encodes every reserved character, making it suitable for encoding a single value such as a query parameter.
Why does my URL contain %20 or +?
Both represent an encoded space. %20 is the standard percent-encoded space used in URL paths, while + is commonly used to represent a space within an application/x-www-form-urlencoded query string.
Does this tool detect whether my text is already encoded?
Yes, the auto-detect mode checks for percent-encoded sequences and switches to decode automatically when it recognizes them, though you can always force encode or decode manually.
Is my data sent anywhere when I use this tool?
No. All encoding and decoding runs locally in your browser using JavaScript. Nothing you type is transmitted to a server.
Why do I get a URI malformed error?
This happens when the decoder encounters an incomplete or invalid percent-encoded sequence, such as a stray % not followed by two valid hexadecimal digits.
Does URL encoding support Unicode characters like emoji or Urdu text?
Yes. Encoding is performed byte-by-byte over the UTF-8 representation of the text, so multi-byte characters including emoji, Arabic, and Urdu script round-trip correctly.
More Tools
Want to know when to use URL encoding vs Base64 vs HTML entities? Read the Encoding Cheat Sheet →