Built on advanced on-device AI and hardware acceleration to deliver professional-grade performance with uncompromising privacy.On-device AI — professional-grade, fully private.
Split CSV by Rows
Split a CSV by rows, size, count or column — nothing uploaded.
- Runs on your device
- Four split modes
- One file free · 20 with Pro
- Free to 25 MB · Pro device-limited
Drop a CSV here
CSV, TSV, PSV or TXT · up to 25.0 MB · nothing is uploaded
Copied to the top of every part. Set 0 if the file has no header.
{index} is the part number, {name} the source file, {value} the column value.
How to split a CSV file
- 1
Add your CSV
Drop a CSV, TSV, PSV or TXT file, or paste rows straight into the tool.
- 2
Check the header
Set how many rows at the top are headers — they are copied into every part.
- 3
Choose how to split
Rows per file, a fixed number of files, a target size in MB, or one file per column value.
- 4
Split and download
Download any part on its own, or take the whole set as a single ZIP.
What this CSV Split tool offers
Break large CSV data into smaller files with preset or custom row limits, repeated headers, and fast download for each generated part. Four ways to decide where the cuts go, a header block copied into every piece, and quoting that survives the round trip — so every part opens on its own in Excel, Sheets or whatever you are importing into.
- Four split modes. Rows per file, a fixed number of files, a target size in megabytes, or one file per unique value in a column.
- Headers in every part. Choose how many rows at the top are headers; they are copied to the top of each file.
- Quoting that holds. Commas, quote marks and line breaks inside a quoted value stay inside it.
- Instant re-planning. The file is read once. Changing a setting re-plans the split without touching it again.
- One ZIP for the set. Download any part on its own, or take all of them as a single archive.
- Nothing is uploaded. The split happens on your device, so the data never reaches a server.
What a split keeps, and what it changes
A split should return the rows you put in, arranged differently and altered in no other way. Here is exactly what this one guarantees, and the two things it deliberately lets you change.
- Every row, exactly once. The parts reassemble byte-for-byte into the data rows of the source. Blank rows are rows and are kept.
- Row order. Parts come out in file order, and the column mode groups by first appearance rather than sorting.
- The original delimiter and quoting. A semicolon export splits into semicolon files; it is not silently converted to commas.
- Values, character for character. Nothing is trimmed, re-typed, re-formatted or rounded. A leading zero stays a leading zero.
- You may change the line ending. LF by default, CRLF if the system you are importing into wants it.
- You may add a byte-order mark. Excel needs one to read a UTF-8 file as UTF-8 rather than as ANSI.
A 10 MB export with 115,000 rows splits into 115 files in about a quarter of a second, on your device.
Split by rows per file
The mode most imports need. Pick how many data rows each part should hold and the file is cut into equal blocks, with the remainder in the last part.
It is the right choice whenever the limit you are working around is counted in records: a CRM that accepts 5,000 contacts per import, a bulk mailer capped at 10,000 recipients, a spreadsheet that slows to a crawl past 100,000 rows. The presets run from 100 to 50,000 and you can type any number in between. The lowest value on offer is calculated from your own file rather than fixed, so the control can never ask for more parts than your plan allows — which means you cannot set up a split that fails after the work has been done.
Split into a fixed number of files
When the number of pieces matters more than their size — one file per team member, one per processing shift, four batches to run in parallel.
Ask for three files and you get exactly three. That sounds obvious and it is where most splitters get it wrong: dividing the row count by the number of files and rounding up produces a fourth file holding the leftovers, so a request for three returns four. Here the remainder is spread across the earliest parts instead, so ten rows into three files gives 4, 3 and 3 — every part within one row of every other, and the count you asked for.
Split by target file size
For upload limits, which are almost always stated in megabytes rather than in rows. Set the ceiling and each part is filled until the next row would exceed it.
The size is measured on the bytes that will actually be written, with the repeated header counted inside every part — not estimated from the source and not measured on the pre-split file, which is how a part comes out over the limit you set. If one single row is larger than the whole target, that row is written to a part on its own and the tool tells you rather than looping. Common ceilings are worth knowing: Salesforce takes 25 MB per import, most mail systems stop at 10 MB per attachment, and plenty of internal upload forms sit at 5 MB.
Split by column value
One file per distinct value in a column you choose, named after the value: sales split into one file per region, a customer list into one file per country, a log into one file per status code.
This is the mode that turns one export into a set of files you can hand to different people. Pick a column and each unique value becomes its own part, keeping the rows in the order they appeared. The picker shows how many distinct values every column holds before you choose, which is the number that matters: a Region column offering four values makes four useful files, while an Order ID column offering a hundred thousand makes a hundred thousand useless ones. Rows whose cell is empty group together under a single part rather than being dropped, because a splitter that quietly loses rows is worse than one that refuses.
Split by date
One file per day, week, month, quarter or year, taken from a date column — monthly invoices out of a year's ledger, weekly batches out of a log, one file per quarter for a report.
The parts come out in date order and are named after the period, so sales_2024-01.csv sits before sales_2024-02.csv in any file listing. Two details decide whether this mode is trustworthy, and both are handled explicitly. First, ambiguous dates: 03/04/2024 is the third of April in most of the world and the fourth of March in the United States, and no single value can tell you which. The order is worked out from the whole column — any row with a first number above 12 settles it — and when every value fits both readings the tool asks instead of guessing, because guessing quietly misfiles about a third of the rows. Second, weeks use real ISO-8601 week numbering, so 29 December 2025 lands in week 1 of 2026 rather than being filed under the wrong year. Anything that is not a date goes to a single file rather than disappearing, and the picker tells you how many rows that will be before you run.
Delimiters, quoting and encodings
Most CSV tools get one of these three wrong, and the damage is silent — the file downloads, opens, and is subtly not what you put in.
The delimiter is detected by parsing a sample of the file with each candidate and seeing which one squares the rows off most consistently, not by counting separators on the first line. That difference matters on a real file: a semicolon export whose first row contains a quoted address with commas in it will be read as comma-delimited by any tool that counts, and every row lands in one column. Quoting is handled to the same standard — a quote only opens a field at its start, a doubled quote inside one is a literal quote, and a line break inside quotes belongs to the value rather than ending the row.
Encodings
UTF-8, UTF-16 in both byte orders, and Windows-1252 are read directly, and true ISO-8859-1 is decoded properly rather than being quietly handed to the Windows-1252 decoder, which is what happens in most tools because the two share a label. A byte-order mark overrides whatever encoding is selected, because a mark is the file stating its own encoding while a dropdown is a guess. On the way out you can add a UTF-8 mark of your own, which is what Excel needs to read accented characters correctly.
Supported file types
The tool accepts delimited text and refuses everything else at the file dialog, with a link to the converter that will get you there.
CSV, TSV and PSV
Comma, tab and pipe separated files are all read, and the part files keep the extension that matches their delimiter — a tab-delimited split writes .tsv files, not .csv files that will confuse whatever opens them next.
TXT
A .txt file holding delimited data is read exactly like a CSV. If it turns out to hold prose rather than columns the tool says so instead of splitting paragraphs into rows.
Spreadsheets, JSON and everything else
An .xlsx, .xls or .ods workbook is a compressed archive rather than text, so it is refused with a link to the Excel to CSV converter; JSON is sent to the JSON to CSV tool. In both cases the refusal names the file type, what this tool takes, and the one route that fixes it — you never reach a progress bar that then fails.
Free and Pro
Everything that decides whether the output is correct is free. Pro raises the ceilings and adds naming control.
- Free. One file at a time, up to 25 MB, up to 500 parts, all four split modes, all delimiter, encoding, header and line-ending options, and the ZIP download.
- Pro. Files as large as your device can handle, up to 5,000 parts, 20 files queued, and custom naming patterns for the parts and the archive.
- Why the split is never limited. A part that will not reopen is not a premium finish, it is a broken split — so correctness is never the thing behind the paywall.
Frequently asked questions
How does splitting a CSV work?
Add your CSV, choose how the rows should be divided, then split. You can cut by rows per file, by a fixed number of files, by a target size in megabytes, or by the values in one column so each part holds a single category. The tool reads the file once and re-plans instantly when you change a setting, then lists every part with its row count and size so you can check the split before downloading anything.
Is the header row repeated in every split file?
Yes, and you control how many rows count as the header. Set it to 1 for an ordinary export, to 0 for a file that starts straight into data, or up to 5 for exports that carry a title block above the column names. Whatever you choose is copied to the top of every part, so each one stays a valid, self-describing file you can open or import on its own.
How many rows per file can I set?
Pick a preset from 100 up to 50,000, or enter any number. The lowest value offered is worked out from your file, so the setting can never ask for more parts than the plan allows — a 250,000-row export on the free plan starts at 500 rows per file. The summary updates as you type, showing how many parts you will get, the rows in each, and the size of the largest.
Can I split a CSV so each file holds one category?
Yes. Choose the split-by-column mode and pick a column: the tool creates one file per unique value in it, named after the value, so a sales export becomes one file per region and a customer list becomes one file per country. Every column in the picker shows how many distinct values it holds, so you can see that Region gives you four files and Order ID would give you a hundred thousand before you commit to either.
Will splitting break rows that contain commas or line breaks?
No. A value wrapped in quotes can hold commas, quote marks and even line breaks, and all three survive the split intact — an address field spanning two lines stays one row in one part. The parts are written back with the same delimiter and quoting the source used, so they reopen looking exactly like the file they came from, and you can also switch the line ending to CRLF or add a byte-order mark for Excel.
Which delimiters and encodings does it support?
Comma, semicolon, tab and pipe, detected automatically by reading how consistently each one squares the rows off rather than by counting separators on the first line. For encodings it reads UTF-8, UTF-16 and Windows-1252, and honours a byte-order mark over any manual choice, because a mark is the file stating its own encoding while a dropdown is a guess. Accented characters, Cyrillic and CJK all survive the round trip.
Can I download all the parts at once?
Yes. Any single part downloads on its own, and once there is more than one the tool offers the whole set as a single ZIP, so a split into two hundred parts is one click rather than two hundred save prompts. The archive is compressed, which on ordinary text data usually makes it a fraction of the original size.
How large a file can I split?
The free plan handles files up to 25 MB and produces up to 500 parts from one file at a time. Pro raises the ceiling to whatever your device can handle, allows up to 5,000 parts, lets you queue 20 files, and unlocks custom naming patterns for the parts and the archive. Every option that decides whether the output is correct — the split mode, the header rows, the delimiter, the encoding and the line ending — is free on both plans.
Is my data private and is the tool free?
The split runs entirely on your device, not our servers, so nothing is uploaded, nothing is stored, and no copy of your data exists anywhere but your own downloads folder — which is what makes this safe for customer lists, payroll exports and anything else you would not paste into a website. The tool is free to use, needs no install, and keeps working offline once the page has loaded.
from 82 ratings
Rate this tool
Tap a star — it takes a second