Free · no signup · no file upload

Split a large CSV locally in your browser

Create smaller CSV files by record count, number of outputs, or approximate size. Headers can be repeated in every part, quoted multiline values remain intact, and the source file is never sent to a server.

What you get

  • Split by data records, output count, or approximate MiB
  • Repeat the source header in every generated part
  • Preserve quoted records across input chunks
  • Download results directly from browser memory
Browser-only processing

JavaScript reads the selected file on this device. No file content is sent to DataOlllo, Vercel, analytics, or another server.

Choose a local CSV to split

Browser download mode supports files up to 500 MiB. File contents are never uploaded.

or drag and drop the file here

No file transferNo processing API or cloud storage.
No file loggingNames and contents are not sent to analytics.
Source unchangedThe browser only reads your selected file.

Choose the split method for the destination

Use a fixed number of data records when an import tool enforces a record limit or reviewers need predictable batches. Choose the number of files when work must be divided among a known number of people or processes. Use approximate size when an attachment, transfer, or upload system has a byte limit.

Size-based results are approximate because records have different lengths and the splitter never cuts through the middle of a record. The final file can exceed the target when one individual CSV record is larger than the selected size.

  • Records per output file
  • Requested number of outputs
  • Approximate MiB per output
  • Optional repeated header record

Keep each output usable on its own

Repeating the header makes every part understandable when it is opened independently or delivered to another system. The generated names include ordered part numbers, and the result list reports the record count and approximate byte size of every output.

The parser follows quote boundaries rather than blindly splitting at newline characters. Commas and line breaks inside quoted values remain within their original record. The source delimiter and detected line-ending style are used for the outputs.

  • Ordered part filenames
  • Row totals shown before download
  • Quoted multiline fields kept together
  • Original source file remains unchanged

Understand the browser limit

The input is scanned in chunks, but downloadable output Blobs still consume browser memory. To reduce crashes and misleading unlimited-size claims, this browser version accepts source files up to 500 MiB and limits a split to 200 generated files. Available memory and browser behavior may require a smaller file in practice.

For multi-gigabyte sources, split-by-column workflows, output folders, recurring jobs, or constrained computers, use DataOlllo Desktop. The desktop workflow remains local while avoiding the download and memory restrictions imposed by a web page.

No processing invocation or temporary upload

The Vercel deployment serves the static page, JavaScript, and worker file. After selection, the worker reads the local File object and creates output Blobs on the device. Splitting does not call a Vercel function, server action, API route, database, queue, or cloud-storage service.

Website analytics may record an ordinary page view, but this implementation does not attach the selected filename, headers, values, or contents to analytics events. Closing or refreshing the page releases the generated browser downloads.

Common questions

Can I split a CSV without uploading it?

Yes. This tool reads and splits the selected File in a browser Web Worker. Only static website assets are delivered by the server; the file bytes are not submitted.

Will every output include the header?

Enable “First record is a header” and “Repeat header in every output.” The header does not count toward the configured number of data records per file.

Can it split records containing line breaks?

Yes, when the line break is inside a properly quoted CSV field. The parser tracks quote state across chunks and does not split that record at the embedded newline.

Why is the file-size split approximate?

The tool keeps records intact. Because record byte lengths vary, it finishes the current output before adding a record that would cross the target. A single unusually large record can exceed the target by itself.

What happens to the original CSV?

Nothing. The browser receives read permission for the selected file and creates separate downloadable Blobs. It does not modify or overwrite the source.