Convert an Excel paste to a list

Copy a selection from Excel (or Google Sheets, Numbers, LibreOffice) and paste it here - spreadsheet clipboards are tab-separated internally, and this tool parses that directly. Three output shapes: one row per line (cells joined), first column only, or every cell flattened.

Input
Ready
Output
Live

A tab-separated spreadsheet paste parser

When you copy cells from any major spreadsheet app, the clipboard payload is tab-separated rows with newline-terminated lines. This tool reuses the CSV parser with the separator forced to tab, so you get the same three output modes and the same RFC 4180 quoting handling. You do not need to export to CSV first - just copy from the sheet and paste here.

Output mode Rows (default) joins each row's cells with the Row join string (default ` | `). First column only pulls the leftmost column from each row - useful when your selection is a single-column export with header + data. Cells flattens every cell into its own output line, producing N items per row.

Skip header (off by default) drops the first row - turn it on when your paste starts with column labels you do not want as data. Trim + Dedupe run as standard post-processing. Quoted cells with embedded tabs, newlines, or double-quotes decode correctly because the underlying CSV parser knows about them.

How to use convert an excel paste to a list

  1. 1Select cells in Excel / Sheets / Numbers and Ctrl+C to copy
  2. 2Paste into the input panel here - the clipboard is already tab-separated
  3. 3Pick Output mode: Rows (default), First column only, or Flatten every cell
  4. 4Set Row join to change the separator used in Rows mode (default ` | `)
  5. 5Toggle Skip header if the first row is a column label you want dropped

Keyboard shortcuts

Drive ListShift without touching the mouse.

Shortcut Action
Ctrl ZUndo last input change
Ctrl Shift ZRedo
Ctrl Shift EnterToggle fullscreen focus on the editor
EscExit fullscreen
Ctrl KOpen the command palette to jump to any tool
Ctrl SSave current pipeline draft Plus
Ctrl PRun a saved pipeline Plus

What this tool actually does

Same CSV parser as the CSV tool, with tab forced as the separator.

Direct spreadsheet clipboard parsing

Spreadsheet apps copy cell selections as tab-separated values with newline row separators. This tool parses that format directly - no export-to-CSV step, no upload, just paste and go.

Handles quoted cells with embedded tabs/newlines

The underlying parser is RFC 4180-aware: cells containing tabs, newlines, or double quotes are properly unquoted if the source exported them that way. Uncommon in copy-paste flows but critical when the spreadsheet produced the clipboard via an export path that quoted edge cases.

Three output shapes

Rows joins each row into one output line. First column only pulls the leftmost cell from each row. Cells flattens the whole grid into one item per cell. Pick based on what the next step in your pipeline wants.

Skip header for data-only output

Turn on Skip header when the first row of your paste contains column labels you do not want as data. Off by default because users sometimes want the header as part of the list.

Trim + Dedupe post-processing

Trim (on by default) strips edge whitespace per item. Dedupe (off) drops duplicates case-insensitively. Both apply after the parsing and joining.

Worked example

Default Rows mode, Skip header off: header plus three data rows, cells joined with ` | `.

Input
Name	Email	Phone
Alice	[email protected]	555-0100
Bob	[email protected]	555-0101
Carol	[email protected]	555-0102
Output
Name | Email | Phone
Alice | [email protected] | 555-0100
Bob | [email protected] | 555-0101
Carol | [email protected] | 555-0102

Settings reference

How each option shapes the parsed output using the sample above.

Setting What it does Effect on the sample
Output: Rows (default) Each row's cells joined with Row join Four lines, cells joined with ` | `
Output: First column only Only column 0 from each row `Name`, `Alice`, `Bob`, `Carol`
Output: Flatten every cell Every cell as its own line 12 lines, every cell including the header row
Row join: `,` Alternative cell separator in Rows mode `Name,Email,Phone` / `Alice,[email protected],555-0100` ...
Skip header: on Drops the first row Header row removed; 3 data rows output
Trim + Dedupe Standard post-processing Trim on by default; Dedupe drops repeats

FAQ

Do I need to export to CSV first?
No. When you Ctrl+C in Excel / Sheets / Numbers / LibreOffice, the clipboard payload is already tab-separated rows with newline-terminated lines. Paste directly - this tool reads that format as-is. Export to CSV is only needed if you are moving the file, not the clipboard.
What do the three output modes do?
Rows (default) joins each row's cells with the Row join string onto one line. First column only keeps the leftmost cell from each row (handy for pulling a single column out of a wider selection). Flatten every cell emits every cell on its own line in row-major order.
My cell has a comma or a line break inside it. Will it parse correctly?
Yes, if the source quoted it (e.g. `"Smith, John"` or a cell with an embedded newline wrapped in double quotes). The underlying CSV parser is RFC 4180-aware - it respects quoted fields with commas, tabs, newlines, and `""` escapes. Unquoted embedded tabs or newlines will be treated as cell/row separators.
Why is the header row in my output?
Skip header is off by default - the parser cannot guess whether row 1 is labels or data. If your paste starts with `Name Email Phone` and you only want the data rows, toggle Skip header on.
What if I have a real .csv file instead of a spreadsheet paste?
Use Convert CSV rows into a list instead. This tool forces tab as the separator to match what Excel/Sheets puts on the clipboard; feeding it a comma-separated file would parse every row as one giant cell. The CSV tool auto-detects comma / semicolon / pipe / tab and handles real CSV quoting correctly.