Pair two lists row by row
Zip two lists into pairs when you have two parallel columns of data that belong together - names and emails, SKUs and prices, tickets and owners. The tool matches each row from the first list with the row at the same index in the second.
To keep the two lists separate in one textarea, paste them with a header line for each block. Any line starting with "#" splits a new block, so "# List A" / "# List B" is just a convention, not a magic keyword - use whatever labels you like.
If one list is longer than the other, the extra rows are still emitted with an empty pair, so no data is lost. Pick the output separator you want between each pair: tab (default, pastes into Excel cells cleanly), comma, pipe, or dash.
Everything runs in your browser via JavaScript. Your lists never leave the tab, there is no sign-up, and nothing is sent to our servers.
How to use zip two lists into pairs
- 1Paste your first list into the input panel, preceded by a header line like "# List A".
- 2Leave a blank line, then add a second header line like "# List B" and paste the second list below it.
- 3Pick a Separator - Tab is the default (good for Excel paste), or choose comma, pipe, or dash for readable output.
- 4The output panel updates live with each pair on its own line, using the separator you chose.
- 5Copy the result or hit Download to save the pairs as a plain text file.
Keyboard shortcuts
Drive ListShift without touching the mouse.
What zip two lists lets you do
Five jobs that come up when you have two parallel columns of data.
Pair names with emails from two separate exports
One CSV export gives you names in order, another gives you emails in the same order. Paste both as "# List A" and "# List B" and the output gives you "name<TAB>email" per row, ready to paste into a CRM or spreadsheet.
Match product SKUs with prices
Pull the SKU column from one report, the price column from another, and zip them into "SKU | price" pairs for a pick-list or a quick price sanity check. Pipe separator is readable at a glance; tab is still the default for spreadsheet paste.
Zip Jira ticket IDs with owners
Two parallel columns from a Jira export become clean "TICKET-123<TAB>alice" pairs for a standup note. No VLOOKUP, no spreadsheet gymnastics - paste, pick a separator, copy the output.
Generate quiz cards from questions + answers
List A = questions, List B = answers, and the output is one "Q - A" line per card. Pick the dash separator for readability; rename to .csv for import into flashcard tools like Anki or Quizlet.
Build a key-value list for a config file or prompt
Zip a list of keys with a list of values, separator = ": ", and you get "key: value" per line - valid for YAML, ini-style configs, or a structured LLM prompt where each line maps one concept to its definition.
Worked example
Two lists pasted with "# List A" / "# List B" headers, zipped into tab-separated pairs.
# List A Alice Bob Carol # List B New York Los Angeles Chicago
Alice New York Bob Los Angeles Carol Chicago
Settings reference
Understand how each option affects the output with the example above.
| Setting | What it does | Effect on the sample |
|---|---|---|
| Separator: Tab (default) | Joins each pair with a tab character | Excel + Google Sheets paste splits into two columns automatically |
| Separator: Comma | Joins with ", " | Gives "Alice, New York" per line (safe when cells contain no commas) |
| Separator: Pipe | Joins with " | " | Gives "Alice | New York" per line - readable at a glance |
| Separator: Dash | Joins with " - " | Gives "Alice - New York" per line - good for quiz-card style output |