Overview
Introduction
Once you've pulled a batch of percent-encoded values out of a URL, log file, or query string, extracted query parameters, path segments, or search terms, you need them decoded back to plain text to actually read or reuse them.
This tool decodes an entire list of percent-encoded items in one pass, catching and clearly naming any single malformed item instead of failing on the whole batch.
What Is List URL Decoder?
The List URL Decoder is a per-item decoder: it splits the input on your chosen separator and decodes each item independently with the same rules as JavaScript's `decodeURIComponent`.
It's the exact inverse of the List URL Encoder, so a list encoded there decodes back here to the original values.
How List URL Decoder Works
The input is split into items on your chosen separator, trimmed, and blank items are dropped.
Each item is passed through `decodeURIComponent()`; if any item contains malformed percent-encoding (like a stray "%" not followed by two hex digits), the resulting error is caught and reported with that item's 1-based position and value.
When To Use List URL Decoder
Use this whenever you have a list of percent-encoded values, extracted from a query string, log file, or another tool, and need the plain text back.
It's also useful for spot-checking whether a batch of values is validly percent-encoded before importing it elsewhere.
Often used alongside List URL Encoder, URL Decoder and List Base64 Decoder.
Features
Advantages
- Names the exact item that fails to decode, instead of one generic error for the whole input.
- Matches the exact decoding behavior of JavaScript's built-in `decodeURIComponent`, so results match what your code would produce.
- Trims each item automatically, so incidental whitespace doesn't cause false failures.
Limitations
- Stops at the first malformed item rather than decoding the valid ones and skipping the rest.
- Doesn't decode a full URL's structural characters differently, it treats every item as a plain encoded component.
Examples
Best Practices & Notes
Best Practices
- If decoding fails, check the reported item number first to find the malformed entry quickly in a long list.
- Use the List URL Encoder to generate test data if you want to confirm the decoder round-trips correctly.
Developer Notes
Each item is decoded with the native `decodeURIComponent()` wrapped in a try/catch; a thrown `URIError` (from malformed percent-encoding) is caught and reported with the failing item's 1-based position and original value.
List URL Decoder Use Cases
- Decoding a batch of query parameter values extracted from server logs
- Validating that a list of percent-encoded values is well-formed before importing it
- Round-tripping test data produced by the List URL Encoder
Common Mistakes
- Pasting a raw "%" that isn't part of a percent-encoded sequence, a literal "%" in a URL must itself be encoded as "%25" or decoding will fail.
- Assuming a failed decode means the whole list is unusable, only the reported item is invalid; the rest can still be decoded once it's fixed or removed.
Tips
- A literal "%" that isn't meant to start an escape sequence needs to be written as "%25" for decodeURIComponent to accept it.
- Pair with the List URL Encoder to round-trip a batch of values and confirm nothing was lost.