Split a large Excel file

Runs on your device · Your file never leaves your device.

Divide an oversized spreadsheet into smaller files — by number of rows per file, or by a maximum size per file — and download them together as a ZIP.

Every part keeps the header row, so each file opens as a valid, self-contained spreadsheet that an import tool will accept. That detail is what makes split files actually usable rather than just smaller.

This is the usual answer to import limits: a 50,000-row file that a CRM, an accounting package or an upload portal refuses becomes ten files of 5,000 rows, or as many files as it takes to stay under a size you set.

How to split a large Excel file

  1. Drop an Excel or CSV file, even a very large one.
  2. Choose rows per file, or a maximum size per file.
  3. Press Split & Download ZIP; each part keeps the header row.
  4. The ZIP of parts is saved.

Supported formats and limits

Input
Excel .xlsx / .xls, CSV
Output
ZIP of smaller files: Excel, CSV, JSON or JSON Lines
Header
Repeated in every part
Sheets
Any sheet, or every sheet of every file added
Where it runs
In your browser; nothing uploaded unless you choose AI column detection

Not for: Merging sheets — this splits one file into many, not the reverse.

What is read from the files

Every sheet of every file you add is read. A Sheet list chooses which one is shown and split, and the box "Every sheet of every file, each to its own file" splits them all at once; column choices then apply to the sheet shown, and the others keep all their columns.

The first row that is not empty becomes the header. If a sheet opens with a title line, such as "Sales report 2024" above the real column names, that title becomes the header of every part and the real names become the first data row; delete the title rows first. Empty rows are removed, so the row count shown counts only filled rows. Text that another program already turned into characters like "é" or "اÙ" is repaired, in any script.

The settings that shape each part

Under Basic, split by number of rows, which starts at 500, or by file size: type the most each file may weigh in MB, where 1 MB is 1,000,000 bytes, and each part takes as many rows as fit under it. A single row larger than the limit on its own goes into a file by itself, and a message says that this file is over the limit. Parts are named after the original with a number padded to the same width, for example sales_part01.xlsx to sales_part12.xlsx, and come together in one ZIP; when the result is a single file, that file is downloaded as it is.

Under Columns, untick columns to leave them out of every part, or click a name to rename it. Under Format, choose Excel, CSV, JSON or JSON Lines, and for CSV the separator. Include header row is on, so each part stands alone. Include metadata file is off; it adds a _metadata.json with row count and column types beside every part, for automated pipelines.

What survives in the parts

Excel parts keep each cell's value and its number format, so 5% stays 5%, $1,250.00 stays $1,250.00, a code shown as 007 stays 007, and dates keep their own format. A formula is replaced by the result last saved with the file, because the rows it pointed at may be in another part. Colours, column widths and merged cells are not kept.

When the input is a CSV, its numbers become numbers in Excel parts, so a column of amounts adds up, and 1.50 is shown with its two decimals; leading zeros, long IDs and dates stay text. Quoted cells with line breaks or doubled quotes are read correctly. In JSON parts, a date is written as the date and time the sheet holds, such as 2024-01-05 or 2024-01-05T18:00:00, with no time-zone shift.

Frequently asked questions

Is my spreadsheet uploaded to a server?
No — the split and the export run in your browser. The one exception is the optional Detect columns with AI button: only if you press it, the headers and a sample of rows are sent to our server and on to Google’s Gemini. Nothing is sent unless you press it.
Does every part keep the column headers?
Yes. The header row is repeated at the top of each output file so all parts import correctly on their own.
Can I drop columns I do not need?
Yes — removing unused columns before exporting shrinks every part and often avoids the need to split as finely.

Related tools

More in Spreadsheets & data

This page in other languages: العربية · Deutsch · Français · Español · Русский · Português · 中文 · हिन्दी · Türkçe · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা