Mac · iPhone · iPad — osascript automation — no upload

Export Numbers to CSV
Guide, Terminal
command and Python.

Export Apple Numbers spreadsheets to CSV. Step-by-step guide for Mac, iPhone and iPad. Enter your file path and get a personalised osascript Terminal command for automated recurring exports. Works on any macOS version.

Mac, iPhone & iPad
osascript automation
All sheets at once
Python script included
Always free
osascript command — personalised for your paths  macOS only
Enter your file paths — the Terminal command updates live
Terminal — paste and run

Numbers creates one CSV file per sheet in the output folder. The folder must exist before running the command. Run mkdir -p /your/output/folder first if needed.

Export Numbers to CSV — three methods

Choose the method that fits your device and workflow.

Mac menu
  1. Open your spreadsheet in Numbers
  2. Click File in the menu bar
  3. Click Export To → CSV…
  4. Select Unicode (UTF-8)
  5. Click Next…
  6. Choose a folder, click Export
iPhone & iPad
  1. Open the spreadsheet in Numbers
  2. Tap the (More) button top-right
  3. Tap Export
  4. Tap CSV
  5. Choose Save to Files, AirDrop or share
  6. One CSV per sheet exported
iCloud web
  1. Open icloud.com/numbers
  2. Open your spreadsheet
  3. Click the wrench icon in the toolbar
  4. Click Download a Copy
  5. Choose CSV
  6. File downloads to your browser
Automate with osascript and Python

For recurring exports — run once manually or on a schedule.

Terminal — single file export
osascript -e ' tell application "Numbers" open POSIX file "/Users/YourName/data.numbers" delay 1 export front document to POSIX file "/Users/YourName/output/" as CSV close front document saving no end tell '
Exports all sheets to the output folder. Each sheet becomes SheetName.csv. The output folder must already exist.
Python — batch export all .numbers files in a folder
import subprocess, os, glob numbers_dir = '/Users/YourName/Documents/spreadsheets/' output_dir = '/Users/YourName/Documents/csv-output/' os.makedirs(output_dir, exist_ok=True) for path in glob.glob(numbers_dir + '*.numbers'): name = os.path.splitext(os.path.basename(path))[0] outdir = os.path.join(output_dir, name) + '/' os.makedirs(outdir, exist_ok=True) script = f''' tell application "Numbers" open POSIX file "{path}" delay 1 export front document to POSIX file "{outdir}" as CSV close front document saving no end tell''' subprocess.run(['osascript', '-e', script], check=True) print(f'Exported: {name}') print('Done.')
Requires Numbers installed on macOS. Each .numbers file gets its own subfolder of CSVs — one per sheet. No additional Python packages needed.
What to do with the exported CSV

Numbers exports clean UTF-8 CSV — compatible with every major tool.

Open in Excel

Numbers CSVs use UTF-8 encoding. In Excel: Data → From Text/CSV → select UTF-8 to avoid encoding issues. Or use CSVShift CSV to Excel to convert first.

Load in pandas

pd.read_csv('sheet.csv', encoding='utf-8') — Numbers exports clean UTF-8 that pandas reads directly. No BOM handling needed.

Open in Google Sheets

Upload the CSV to Google Drive → right-click → Open with Google Sheets. Numbers → CSV → Sheets is the standard workflow for sharing data with non-Apple users.

Import into a database

Use CSVShift to convert the Numbers CSV export to SQL INSERT statements, SQLite, PostgreSQL or MongoDB for database import. Numbers → CSV → CSVShift → your database.

Related CSV tools
Popular searches
numbers to csv apple numbers export csv how to export numbers to csv numbers to csv mac convert numbers to csv numbers app to csv iphone numbers to csv numbers to csv python export all sheets numbers csv numbers to csv terminal osascript numbers export csv batch export numbers to csv

Your exact Terminal
command, generated live. No guessing.

The osascript personaliser above generates the exact command for your file path and output folder — no editing placeholder strings. The Python batch script handles entire folders of .numbers files, creating a subfolder of CSVs per file. Both work on any macOS version with Numbers installed.

Numbers exports clean UTF-8 CSVs — one per sheet, named after the sheet. The File → Export To → CSV menu option on Mac creates a folder with all sheets in a single step. No third-party software required.

Live path personaliser
Enter your actual paths — the Terminal command updates in real time with zero placeholder editing.
All sheets exported
Numbers creates one CSV per sheet automatically — no need to export each sheet individually.
Python batch script
Export entire folders of .numbers files to CSV in one run — no additional Python packages needed.
Three platform guides
Mac menu, iPhone/iPad tap workflow and iCloud web — exact steps for every Apple platform.
Frequently asked questions
How do I export Apple Numbers to CSV?
In Numbers on Mac: File → Export To → CSV → choose UTF-8 encoding → Next → Export. Numbers creates one CSV per sheet in a folder. On iPhone/iPad: tap … → Export → CSV. On iCloud web: wrench icon → Download a Copy → CSV.
How do I export all sheets from Numbers to CSV at once?
Numbers' File → Export To → CSV automatically creates one CSV per sheet in a folder. You don't need to export each sheet individually — all sheets are exported in one step and named after their sheet tabs.
Can I automate Numbers to CSV export on a schedule?
Yes. Use the osascript command from the personaliser above, then add it to a launchd plist or cron job to run on a schedule. For recurring exports (daily reports, weekly data), the Python batch script handles multiple files in one run.
Why does my Numbers CSV have encoding issues in Excel?
Numbers exports UTF-8 without BOM. Excel on Windows expects UTF-8 BOM for auto-detection. Fix: in Excel use Data → From Text/CSV → select UTF-8 encoding manually. Or use CSVShift CSV to Excel to convert the file first — it adds the correct BOM automatically.