Cartesian product of lists
Cross every item of one list with every item of the others — all combinations, one per line.
Related tools
Cartesian product of lists
Some lists only exist when you multiply them: every colour × every size, every first name × every surname, every UTM source × medium × campaign, every product base × variant. Writing those out by hand is exactly the tedious, error-prone job a computer should do. Paste your lists here — one item per line, each list separated by a blank line — and every combination comes out, one per line, in a predictable order.
The order is an odometer: the last list varies fastest, the first slowest, so red/blue × S/M gives red S, red M, blue S, blue M. That grouping keeps related combinations together, which is what you want when the result feeds a spreadsheet column, a batch of test cases or a set of file names. Add a third and fourth list and the pattern extends — the tool handles any number of lists, limited only by the total size.
The join between items is yours: a space for readable labels, nothing for concatenated codes, a hyphen or slash for identifiers, a tab for pasting into columns. Duplicates within a list are removed by default so a repeated item does not silently multiply the output. The tally shows the exact combination count and the number of lists before you commit.
Because the count is the product of the list sizes, it explodes fast — four lists of forty items is 2.5 million rows. The tool computes that product up front and refuses anything that would freeze the tab, telling you the number so you can shorten a list. Everything runs locally in your browser — your lists never leave your device.