How do you combine multiple CSV files into one Excel workbook on a Mac?

By Kayabyte · Last updated 31 October 2026

To combine CSV files into one Excel workbook on a Mac, join them into a single CSV in Terminal and open that in Excel, or open each CSV and move its sheet into one workbook. Terminal is fast for CSVs with identical columns; opening each file is the safe route when you want one tab per file. Gridhand does either from one window: one workbook with a tab per CSV, or all rows stacked into one sheet.

Method 1: join into one CSV with Terminal

For files with the same columns and the same header, in the folder that holds them:

  1. Open Terminal and go to the folder: cd ~/Documents/csvs
  2. Write the header once and then every file without its first line, saving the result one folder up so it is not read as an input: first=$(ls *.csv | head -1); head -1 "$first" > ../all.csv; for f in *.csv; do tail -n +2 "$f" >> ../all.csv; done
  3. Open all.csv in Excel and save it as .xlsx.

Limits: it assumes identical headers and column order, a file that does not end with a line break will glue two rows together, mixed encodings (one UTF-8, one Windows-1252) turn into garbage characters, and quoted fields that contain line breaks can confuse line-based tools.

Method 2: open each CSV in Excel

  1. Open each CSV in Excel (File, Open). If characters look wrong, import it with Data, Get Data, From Text/CSV and choose the file origin.
  2. Move or copy each sheet into one workbook (Control-click the tab, Move or Copy, To book).
  3. Watch for leading zeros: Excel turns 00123 into 123 when it opens a CSV directly.

With Gridhand

Gridhand reads the CSV, TSV and text files you add, detects the encoding (BOM, UTF-8, UTF-16, Windows-1252) and the delimiter (comma, semicolon, tab or pipe), and keeps IDs with leading zeros as text. Convert with “one workbook” gives one tab per file. If you want the rows stacked, convert to .xlsx first and then use Merge, “Into one sheet”, which matches columns by header text and can add a Source file column. Originals are never modified.

Steps with Gridhand

  1. Drop the CSV files, or a folder, into Gridhand.
  2. Choose Convert, “CSV, TSV or text to XLSX”, tick the option to put everything into one workbook, and check the encoding and delimiter in the preview.
  3. Choose an output folder and press Run.
  4. To stack the rows instead, run Convert once without that option, then add the resulting .xlsx files to Merge, “Into one sheet (stack the rows)”.

Free for up to 3 files per run; Gridhand Pro is USD 49 once. Download Gridhand

Questions

Why do my accented characters look wrong? The CSV is probably not UTF-8. In Gridhand’s preview choose the encoding (for example Windows-1252) until the text looks right.

Will 00123 stay 00123? In Gridhand, yes: numbers are only made when the whole column agrees, and IDs with leading zeros stay text.

Can the CSV files have different columns? With Merge into one sheet, yes. Columns are matched by header text and the extra ones are kept.

Microsoft and Excel are trademarks of the Microsoft group of companies. Gridhand is made by Kayabyte and is not affiliated with or endorsed by Microsoft.