Export a list to Excel

Paste a list, pick how many columns you want, and download a .xls file that opens directly in Excel, Numbers, or LibreOffice Calc. Items flow left-to-right across columns in row order. Runs in your browser.

Input
Ready
Output
Live

A practical list-to-Excel exporter

The download is a `.xls` file built from an HTML table. Excel, Numbers, Google Sheets (via upload), and LibreOffice Calc all open HTML-table-as-.xls natively - it is the lightweight spreadsheet delivery method, no `.xlsx` library needed in the browser. The on-screen output panel shows the tab-separated version of the same data so you can see exactly what will land in the sheet.

Columns controls the layout. Set it to `1` for a single column (one item per row), `2` for pairs (items flow left-to-right, wrapping every two), and so on. The tool fills rows across before starting a new one, which is the same convention a human would use when manually pasting into a grid.

Header is optional. Leave it blank and the spreadsheet starts directly with your data. Fill it in with a single label (`Item`) and - if you have multiple columns - the tool will auto-number as `Item 1`, `Item 2`, etc. Or supply a comma-separated list of labels (`Name,Price`) to name each column explicitly; extras are truncated, missing ones are padded with blanks.

How to use export a list to excel

  1. 1Paste your list into the input panel, one value per line
  2. 2Set Columns to choose how items wrap across the spreadsheet (1 = single column, 2 = pairs, etc.)
  3. 3Optionally set Header - a single label (auto-numbered per column), or `Label1,Label2` for explicit per-column headers
  4. 4Output shows the tab-separated preview; Download writes an .xls file Excel opens natively

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 exporter actually does

Specific behaviors that matter when the spreadsheet has to open cleanly.

Downloadable .xls that opens in Excel, Numbers, LibreOffice

The download is an HTML table saved with an .xls extension and the `application/vnd.ms-excel` MIME type - a format Microsoft Office, Apple Numbers, and LibreOffice all parse as a native spreadsheet. No macros, no complex XML, no library needed in the browser.

Row-major column flow

With Columns set to N, item 1 goes in row 1 column 1, item 2 goes in row 1 column 2, and so on. When column N is full, the next item starts row 2 column 1. That matches how most people expect a "reshape into columns" tool to behave.

Single-label header auto-numbers

If you set Header to `Item` and Columns to 3, the spreadsheet gets a header row of `Item 1 | Item 2 | Item 3`. That saves typing when you just want columns labelled but named similarly.

Comma-separated header for explicit column names

Set Header to `Name,Price` to label column 1 `Name` and column 2 `Price`. If you provide more labels than columns, extras are dropped; if fewer, the remaining columns get empty header cells.

Blank lines dropped; tab-preview on screen

Empty input lines are skipped before the rows are built. The on-screen output shows the same data as tab-separated text - useful for copy-paste into a cell directly, without downloading. Download wraps that same data in the HTML-table-as-.xls envelope.

Worked example

Six items into 2 columns, with an auto-numbered header.

Input
Apples
Oranges
Pears
Plums
Peaches
Cherries
Output
Item 1	Item 2
Apples	Oranges
Pears	Plums
Peaches	Cherries

Settings reference

How the options shape both the on-screen preview and the downloaded .xls.

Setting What it does Effect on the sample
Columns: 1 Emits each item on its own row in a single column Six rows, one item each
Columns: 2 Pairs items across two columns, wrapping every two Three rows of two items each
Columns: 3 Wraps every three items Two rows of three items each
Header: (blank) No header row - data starts at row 1 First spreadsheet row is `Apples, Oranges`
Header: Item Single label auto-numbered per column Header row `Item 1, Item 2`
Header: Name,Price Comma-separated labels assigned per column Header row `Name, Price` (extras truncated, gaps padded blank)

FAQ

Is the download a real `.xlsx` file?
No. It is a `.xls` file built from an HTML table - the old Excel binary format's lightweight cousin. Excel, Numbers, Google Sheets (after upload), and LibreOffice all open it as a native spreadsheet. Using HTML-table-as-.xls avoids shipping a ~50KB xlsx-writer library into your browser, so the page stays fast.
How does Columns decide which items go where?
Row-major: item 1 is row 1 column 1, item 2 is row 1 column 2, and so on across. When column N is filled, the next item starts row 2 column 1. Good mental model: a typewriter left-to-right, top-to-bottom.
What happens if I put one label in Header but ask for three columns?
The label is auto-numbered: `Item 1 | Item 2 | Item 3`. This is deliberate - it saves you from typing `Item 1,Item 2,Item 3` when you just want sequentially labelled columns.
What happens if my item contains a tab or newline?
Tabs inside items break the tab-separated layout - they will shift subsequent cells in that row. Newlines would split the item across rows. Clean those up in your input first using the trim or flatten tools before exporting.
Can I import an Excel file back into a list?
Yes, use convert-excel-to-a-list tool - it accepts a copy-paste from Excel (tab-separated values) and gives you back one value per line.