How it works
How to use the URL Encode / Decode
Choose Encode or Decode
Encoding makes text safe for URLs; decoding turns %XX sequences back into characters.
Pick the encoding style
Component for query values, full URL to keep the URL structure intact, or form encoding with + for spaces.
Inspect the URL
When the input is a URL, its protocol, host, path and decoded query parameters are listed below.
encodeURIComponent vs. encodeURI
encodeURIComponent escapes every reserved character, including / ? & = # — use it for individual query parameter values and path segments. encodeURI leaves those characters alone so a complete URL remains valid. HTML forms (application/x-www-form-urlencoded) encode spaces as +.
Built for developers
Why developers use it
Private by design
Runs 100% in your browser. Nothing you paste is uploaded, logged or stored on a server.
Instant results
Output updates as you type, with precise error locations when something is wrong.
Works offline
Once loaded, the tool keeps working without a connection. Install it as an app if you like.
Free, no sign-up
No accounts, no limits, no watermarks.
FAQ
Frequently asked questions
Why does + sometimes mean a space?
In form-encoded query strings, + represents a space. In other parts of a URL, a literal + is just a plus sign. Toggle "Treat + as space" accordingly.
What causes "Malformed percent-encoding"?
A % that is not followed by two hex digits, or a byte sequence that is not valid UTF-8. The error highlights where it happens.
Is my data uploaded anywhere?
No. This tool runs entirely in your browser. Your input never leaves your device, is not logged, and works offline once the page has loaded.
Keep going
Related tools
- Base64 Encode / DecodeEncode and decode Base64 text and files
- URL EncodePercent-encode text for URLs
- URL DecodeDecode percent-encoded text
- JSON URL EncodePercent-encode JSON for URLs
- JSON URL DecodeDecode percent-encoded JSON
- XML URL EncodePercent-encode XML for URLs
- URL ParserSplit a URL into protocol, host, path and query
- JSON FormatterFormat, validate and explore JSON