Your Excel file is 180 MB, your colleague's email server bounces anything over 10 MB, and the CRM you're importing into has a 25 MB limit. You need smaller files — and you need them now, without learning VBA or waiting for IT. Here are the methods that actually work.

Why Excel files get large (and why that matters for splitting)

An XLSX file is heavier than the equivalent CSV for a few reasons: each cell stores not just data but formatting, formulas, number formats, and sometimes embedded charts or images. A sheet with 500,000 rows of plain text data might be 40 MB as XLSX and 12 MB as CSV. This matters because when you're splitting for a size limit, the output format choice affects how many chunks you get.

The other thing to understand: Excel's row limit is 1,048,576 rows per sheet. If you're regularly hitting file size limits, you're probably also approaching row limits — which is one of several reasons professional data teams move large datasets out of Excel entirely.

But you don't need to change your entire workflow to solve today's problem. You just need smaller files.

Method 1: Split in your browser (fastest, no install)

CSV Splitter Online reads XLSX files natively and splits them by file size, row count, number of files, or column value. Your data never leaves your computer — it all runs in JavaScript in your browser tab. This is the fastest path for a one-off split.

Step 1

Open CSV Splitter Online and drop your XLSX file

Go to csvsplitteronline.com and drop your Excel file directly onto the upload area. You'll see the file info bar populate with row count, column count, and file size within a few seconds. For a 50 MB XLSX, expect parsing to take 3–8 seconds depending on your machine.

Step 2

Choose your split mode

For most people splitting Excel for an upload limit, "By file size" is the right choice. Enter your target size (e.g. 25 for Salesforce, 10 for Zoho, 5 for Mailchimp) and leave the unit on MB. If you want predictable row counts instead — say you want each file to be exactly 10,000 rows — switch to "By row count".

Step 3

Choose your output format

This is where people get tripped up. If the system you're uploading to accepts CSV, choose CSV as the output format — the resulting files will be significantly smaller than XLSX, which means fewer chunks to upload. If the destination specifically requires XLSX, choose XLSX. Either way, CSV Splitter Online handles the conversion automatically.

Step 4

Optionally filter columns

Before splitting, look at the Column Filter section. If your Excel file has columns you don't need in the output — internal IDs, audit timestamps, legacy fields — uncheck them. Fewer columns means smaller files, which means fewer chunks overall.

Step 5

Split and download as ZIP

Click Split. With "Download as ZIP" checked (the default), all your output files land in a single ZIP download. Extract and you have your chunks, named sequentially: filename_part01.csv, filename_part02.csv, and so on.

Method 2: Split by column value (one file per category)

If your Excel file contains a mix of records that belong to different categories — different regions, different departments, different product types — you can split by the value in a column rather than by size. Every unique value gets its own output file.

Use the "By column value" mode in CSV Splitter Online. Select the column you want to group by — say "Region" — and you'll get files named data_Region_North.csv, data_Region_South.csv, and so on. This is more useful than arbitrary size-based splitting for cases where the files will be sent to different people or uploaded to different accounts.

Method 3: The manual Excel approach

Excel doesn't have a native "split into multiple files" feature, but you can do it manually when you only have two or three chunks to create and don't want to install anything.

  1. Open your Excel file and note the total row count (shown in the status bar when you select all)
  2. Decide your cutoff point — rows 1–50,000 go in file 1, rows 50,001–100,000 in file 2
  3. Select rows 50,001 through the last row, copy them
  4. Open a new workbook, paste into row 1
  5. Copy the header row from the original, paste as row 1 in the new workbook (shifting everything down)
  6. Save the new workbook as XLSX or CSV
  7. Back in the original, delete the rows you moved out, save

The manual method has real risks. If you make a mistake — copy the wrong row range, forget to add the header, delete rows before saving the new file — you can lose data permanently. Always work on a copy of the original. And this approach doesn't scale: if you need 8 chunks, you're repeating this 8 times.

Method 4: Python (for large-scale or automated splitting)

If you're splitting Excel files regularly or dealing with files that have millions of rows, a Python script with pandas is the right long-term tool. It's fast, reproducible, and handles files that would crash Excel.

import pandas as pd

    # Read the Excel file (first sheet)
    df = pd.read_excel('large_file.xlsx')

    chunk_size = 50000
    for i, start in enumerate(range(0, len(df), chunk_size)):
    chunk = df.iloc[start:start + chunk_size]
    chunk.to_csv(f'output_part{i+1:02d}.csv', index=False)
    print(f'Part {i+1}: {len(chunk)} rows')

To split by column value instead:

import pandas as pd

    df = pd.read_excel('large_file.xlsx')

    for region, group in df.groupby('Region'):
    safe_name = str(region).replace('/', '_').replace(' ', '_')
    group.to_csv(f'data_{safe_name}.csv', index=False)
    print(f'{region}: {len(group)} rows')

Splitting multi-sheet Excel workbooks

If your workbook has multiple sheets and you want each as a separate file — common when exporting monthly reports or regional data into one workbook — here's the Python approach:

import pandas as pd

    xl = pd.ExcelFile('workbook.xlsx')
    for sheet_name in xl.sheet_names:
    df = xl.parse(sheet_name)
    safe = sheet_name.replace('/', '_').replace(' ', '_')
    df.to_csv(f'{safe}.csv', index=False)
    print(f'Exported: {sheet_name} — {len(df)} rows')

In Excel manually: right-click a sheet tab → "Move or Copy" → tick "Create a copy" → choose "(new book)". Repeat for each sheet. Workable for 3–4 sheets, not practical beyond that.

Choosing output format: CSV vs XLSX after splitting

OutputUse whenSize vs source XLSX
CSVUploading to any CRM, database, or web tool that accepts CSV (most do)50–70% smaller
XLSXSending to someone who needs to open in Excel, or system requires XLSXSimilar or larger
TSVData contains lots of commas (addresses, descriptions), database bulk loadsSimilar to CSV

The most common mistake: splitting a 100 MB XLSX into 4 × 25 MB XLSX chunks when CSV output would produce 2 × 18 MB files. Always check whether your destination actually requires XLSX before committing to it as the output format.

Verifying your split files before uploading

Before uploading anything, spend two minutes checking your split files are correct:

  • Open each chunk in CSV Splitter Online and verify the row counts sum to the original total
  • Confirm each chunk has the header row and it matches the original
  • Check that the last row of chunk 1 and the first row of chunk 2 are adjacent records, not duplicates or gaps
  • Verify the actual file sizes on disk are under your upload limit (not just what CSV Splitter Online estimated)
Row count check: If your original had 87,432 data rows and you split at 25,000 rows per file, you should get 4 files: 25,000 + 25,000 + 25,000 + 12,432 = 87,432. If the numbers don't add up, something went wrong. Don't upload until you figure out what.

Split your Excel file now

Drop your XLSX directly — no conversion needed. Split by size, rows, or column value and download as ZIP. Free, private, works offline.

Try CSV Splitter Online free →

Frequently asked questions

Does CSV Splitter Online support .xls files (the older Excel format)?

Yes — both .xlsx and the older binary .xls format are supported. The file is detected and parsed automatically. If you're regularly working with .xls files, it's worth converting them to .xlsx — the newer format is smaller and more universally supported.

Will dates and numbers come out correctly after splitting?

Yes. CSV Splitter Online reads Excel dates as ISO date strings (YYYY-MM-DD) and preserves numbers as-is when writing CSV. When outputting XLSX, values are written directly from the parsed source. The one edge case: if you see 5-digit numbers (like 45678) where dates should be, those are Excel serial date numbers — usually created by older export tools. They're technically correct but need reformatting in whatever system you import into.

What happens to formulas when I split an Excel file?

Formulas are evaluated and replaced with their computed values in the output. The output files contain data, not formulas. This is almost always what you want — you're exporting data for another system, not sending your spreadsheet logic. If you specifically need formulas preserved, you'll need the manual copy-in-Excel approach.

My Excel file has merged cells. Will splitting work?

Merged cells are a common headache. When CSV Splitter Online (and most parsers) read a merged cell range, only the top-left cell has the value — the rest are empty. This can cause problems if your data relies on merged cells to convey information. The fix is to "unmerge and fill" the cells in Excel before exporting: select the merged cells, unmerge them (Home → Merge → Unmerge), then use Ctrl+G → Special → Blanks → fill down.

Ready to try it?

Use our free, browser-based CSV tools to apply what you've just learned — no upload, no signup.

Open Split CSV →