URL Encoder & Decoder
Percent-encode text for use in URLs, or decode an escaped link back into something readable. Long links are broken down into their query parameters automatically.
Component escapes every reserved character — use it for a single query value. Whole URL keeps :/?#&= intact so the link stays usable.
Form encoding (application/x-www-form-urlencoded) writes spaces as + instead of %20.
0 chars · 0 bytes · 0 lines
Result
0 chars · 0 bytes · 0 lines
What this tool handles
Both encoding scopes
Switch between encodeURIComponent for single values and encodeURI for a complete link, instead of guessing which one a tool used.
Query parameters unpacked
Paste a long tracking link and every parameter is listed with its decoded value, so you can see exactly what is being carried.
Form encoding aware
Optional + as space handling matches how HTML forms and many backends encode data, in both directions.
Frequently asked questions
What is the difference between the two scopes?
Component (encodeURIComponent) escapes reserved characters like & ? = / so the text is safe as a single parameter value. Whole URL (encodeURI) leaves those characters alone so the link keeps working.
Why does decoding sometimes fail?
A percent sign must be followed by two hex digits. If the text contains a bare % or a truncated escape such as %E4%B8, decoding cannot continue — the error message shows what broke.
Should spaces become %20 or +?
Use %20 inside a path or a normal URL. Use + only for form-encoded request bodies and query strings that were produced that way — enable the option for those.
Are the links I paste recorded anywhere?
No. Encoding, decoding and query parsing all run locally in your browser, so nothing is transmitted or logged.