Bulk URL Encoder/Decoder
NewEncode or decode many URLs at once, one per line.
Bulk URL encoder / decoder
Encode or decode many URLs at once
Paste one URL (or any text) per line. Every line is encoded or decoded independently — a bad line won't block the rest.
Frequently Asked Questions
What's the difference between the encodeURIComponent checkbox on and off?
With it checked, every character is escaped as if the line were a query parameter value (spaces, &, =, / all get encoded). Unchecked, it uses encodeURI, which leaves URL-structural characters like / and : alone since they're assumed to already be part of a full URL.
What happens to blank lines in my input?
They're preserved as blank lines in the output and are not counted in the "lines processed" summary, so your line numbering stays aligned between input and output.
Why does one line show an [ERROR] prefix instead of decoded text?
decodeURIComponent throws on malformed percent-escape sequences (like a stray % not followed by two hex digits). That one line is flagged and the rest of the lines still process normally.
Does switching between Encode and Decode re-run on my existing input?
Yes, switching modes immediately re-runs the conversion against whatever is currently in the input box.
Is there a line limit?
No hard limit is enforced — it processes the full textarea content in your browser, so practical limits are just your browser's memory and how much you want to scroll.