Convert List to Columns
Arrange list items into 2-10 monospace-aligned columns with horizontal or vertical fill. Free, offline, client-side, instant and secure.
Arrange a flat list into a 2-10 column grid. Pick row-by-row (horizontal) or column-by-column (vertical / newspaper) fill, monospace-align left/center/right, and add an optional header row. Trailing blank cells from incomplete rows are trimmed automatically.
How to Use Convert List to Columns
- Paste your list into the input box. Each item on its own line is the default; use the "Input Separator" dropdown if your data is comma/semicolon/tab/pipe/space-separated instead.
- Pick column count (2-10). Three columns is the default; 4-5 fits Markdown / docs nicely; 6+ usually needs a wider terminal or document margin.
- Pick fill direction. Horizontal fills row-by-row (items 1, 2, 3 become the first row). Vertical fills column-by-column (items 1, 2, 3 become the first column) - this is the "newspaper layout" pattern.
- Pick a column separator. Tab is the safe default (paste-clean into Excel/Sheets). Double-space works for monospace text docs. Pick "Custom…" and enter your own (e.g.,
::) for unique delimiters. - Optional: alignment, header row, trim toggles. Center/right alignment pads cells with spaces so columns line up visually in monospace fonts. A comma-separated header row becomes the first output row, padded to match column widths.
- Press Convert (or Ctrl+Enter). Output updates live as you type with a 200 ms debounce. Stats below show item count, grid dimensions, output length, and warnings (e.g., if a cell contains your column separator).
- Copy or Download. Copy puts the columnar text on your clipboard for direct paste into Slack, Markdown, docs, or terminals. Download saves
columnar-list.txt.
Frequently Asked Questions
What’s the difference between horizontal and vertical fill?
Horizontal fills row-by-row – items 1, 2, 3 sit in the first row; 4, 5, 6 in the second. Vertical fills column-by-column – items 1, 2, 3 stack down the first column; 4, 5, 6 down the second. Vertical is the newspaper/yearbook pattern (reading order down each column). With 7 items in 3 columns, vertical gives columns of length 3, 3, 1; horizontal gives rows of length 3, 3, 1.
Why are trailing blank cells trimmed by default?
When the grid is incomplete (item count not divisible by column count), the last row has empty cells. Without trimming, those still emit the column separator – e.g., with the double-space separator and a vertical fill, you’d see "3 " (trailing spaces). Trimming drops the visible trailing artifact. Uncheck if you want strict rectangular output for downstream parsing.
What does “Trim items” actually do?
Strips leading and trailing whitespace from each item after splitting. So ", apple ,banana" with comma separator becomes ['apple', 'banana'] instead of ['', ' apple ', 'banana']. Important when alignment is on – leading spaces would otherwise misalign columns.
Can I include a header row?
Yes – type a comma-separated header in the “Header Row” field (e.g., Name, Score, Status). It becomes the first output row, padded to match the data columns. If your header has fewer entries than columns, missing cells are blank; if more, they’re truncated.
What if my items contain the column separator?
The tool warns you. With tab separator and items like "HellotWorld", the tab inside the item creates an apparent extra column in the output. There’s no escaping – choose a separator your data doesn’t contain (Pipe or Custom :: are usually safe), or strip the offending character from the input first.
How does column alignment look in proportional fonts?
It only aligns visually in monospace fonts (Courier, Consolas, SF Mono, Menlo). The tool pads cells with regular space characters; proportional fonts render different glyphs at different widths so the visual alignment breaks. For Word/Google Docs paste, the underlying data is correct – switch the destination paragraph to a monospace font to see the alignment.
What’s the maximum list size?
No hard limit; performance stays under 50 ms for 10,000 items in Chrome on a 2020 laptop. Very large lists (1M+ items) may stall the UI for a second; consider splitting into chunks. The output appears in a single textarea so browser memory becomes the practical ceiling.
Can I paste the output into Excel or Google Sheets?
Yes – pick “Tab” as the column separator and paste. Both apps recognize tab-delimited paste as multi-cell input and split it into separate columns automatically. For Excel, ensure the destination cell is selected before pasting so it expands across columns properly.
Is my list data uploaded?
No. All splitting, gridding, padding, and joining happens in your browser using vanilla JavaScript. Open DevTools → Network and confirm zero requests fire after the page loads – even when you Convert. Safe for confidential employee lists, API tokens, internal product names.
Does it work offline?
Yes. Total bundle is under 22 KB. Once loaded, disconnect from the internet and keep converting – useful for prepping data in air-gapped environments or while flying.