Million by Million Rows Copier

for Windows

Million by Million Rows Copier - main window

App Screenshots
Home Screen - Before Loading Data
Load Controls - Paste or Load From File
Choosing an Output Folder
Chunk Size and Header Row Options
Auto-Save Format Checkboxes
Loading a Large Dataset - Progress Bar
Export Everything as pop-up
Help & Guide
Loaded Data

Million by Million Rows Copier is a windows desktop application which loads millions of rows into a high-performance local database, then copies and exports them in configurable million-row chunks for easy pasting into Excel, database tools, or other applications. With virtual rendering, background processing, and support for numerous file formats, it delivers smooth, reliable performance even with extremely large datasets.

Move Millions of Rows Through the Clipboard Without Freezing

Million by Million Rows Copier is a lightweight Windows desktop app for moving very large datasets, up to 50,000,000 rows, through the clipboard in safe, evenly sized chunks. Instead of pasting an enormous table in one go and watching Excel freeze or crash, you load everything once, then hand out the data a million rows at a time, with each chunk copied to your clipboard and saved to disk automatically. Everything runs locally on your PC, backed by an on-disk database rather than memory.

A single Excel worksheet holds about 1,048,576 rows, and long before that ceiling, pasting hundreds of thousands of rows at once can lock up the application. Database exports, analytics dumps and system extracts routinely contain far more. This app bridges the gap by breaking a dataset that is too big to paste in one shot into clipboard-sized pieces that any destination can accept, one after another.

What it solves

  • Excel freezing or crashing when you paste hundreds of thousands or millions of rows, and datasets beyond the roughly 1,048,576-row limit of the XLSX format.
  • Moving large tables between tools that only exchange data through copy and paste.
  • Extracting tabular data from documents such as Word tables, HTML tables, JSON and XML, not just spreadsheets.
  • Saving a huge dataset to disk in clean, split, format-correct files without a script, offline, on data that cannot be uploaded.

How to Copy 1 Million Rows (or More) and Paste Them

  • Load everything. Paste with Ctrl+V or load a file. The data goes into a local SQLite file on disk, never one giant in-memory list, so the app stays light at any size.
  • Click Start Copying Out. This locks the loaded dataset so chunk numbering stays consistent from the first chunk to the last.
  • The first chunk is built. The first 1,000,000 rows, header included, go on your clipboard and are saved to disk in your chosen formats.
  • Paste it into Excel, another database tool or any destination that accepts pasted data.
  • Click Copy Next Chunk. Rows 1,000,001–2,000,000 land on the clipboard and are saved too. Re-copy Current Chunk is always available if something overwrites the clipboard first.
  • Repeat until every row has been handed out, however large the dataset.

Supported Formats

Most of the 33 input formats are documents rather than spreadsheets, so loading one pulls out whatever looks like tabular data: an Excel sheet, a Word table, an HTML table or plain delimited text.

Input (33 formats)
CSVTXTXLSXXLSXLSMXLSB XLTXXLTMXLAMXLAXLTDBF JSONXMLMDHTMLHTMMHT MHTMLDOCXDOCDOTXDOTMDOT ODTODSRTFPRNDIFET ETTWPSWPT
Export and auto-save (6 formats)
CSVXLSXJSONSQLTSVXML
  • Spreadsheets (XLSX, XLS, XLSM, XLTX, XLTM, XLSB, XLT, ODS) load directly with all rows and columns, using a much faster engine for the Excel family when available. DBF tables load as the real tables they are.
  • CSV and TXT load as delimited text, or one row per line when there is no delimiter, with auto-detection of UTF-16 "Unicode Text" as well as UTF-8. JSON loads from an array of objects or lists; XML becomes one row per top-level child element.
  • HTML, MHT, DOCX, ODT and Markdown use the first table found, otherwise one row per block of text or paragraph. RTF is converted to text, PRN is parsed as fixed-width text, and DIF is the classic Data Interchange Format.
  • If an extension is misleading, the app checks the file’s real content and loads it correctly anyway.

Key Features

1,000,000-Row Chunked Copying

Data is handed out in clean, Excel-safe chunks of 1,000,000 rows, adjustable from 1 to 10,000,000. Each chunk is copied to the clipboard with its header row included, ready to paste immediately.

Up to 50 Million Rows

A 50-million-row dataset becomes fifty manageable paste operations, with nothing ever held entirely in memory.

Re-copy Current Chunk

Puts the same chunk back on the clipboard without rebuilding or advancing, which is useful the moment something else overwrites it.

Auto-Save Every Chunk

Each chunk is written to disk the moment it is copied, in any combination of CSV, XLSX, JSON, SQL, TSV or XML, so a crash or accidental close never loses more than the chunk in progress.

Header Row Detection

"First row is a header" applies wherever the source genuinely has one, including CSV, TXT, the Excel family, ODS, DBF, PRN and DIF, and every copied chunk repeats that header.

Cancel Load, Keep What’s Loaded

Cancelling a load part-way keeps every row already read and stops before adding more, so a long paste or file load is never all-or-nothing.

Live Progress

Rows per second, percentage complete and an overall "handed out so far" bar show exactly where a multi-million-row job stands.

Session Manifest and Summary

Once every chunk has been copied, the app writes a manifest.json and a summary.txt listing every file produced during the session, as an audit trail.

The Interface: Every Button Explained

  • Choose / Open Output Folder. Pick where saved files go (a default under My Documents is set for you) and open it in File Explorer.
  • Paste All Data (Ctrl+V). Loads whatever is on your clipboard; you can paste several pieces and each appends until you start a fresh session.
  • Load From File. Loads one file in any supported format, and Cancel Load stops a load in progress while keeping the rows already read.
  • Start Copying Out, Copy Next Chunk and Re-copy Current Chunk. Lock the dataset, then step through it one chunk at a time.
  • Export Everything As. Writes the full dataset to disk in one go, in whichever formats you pick in its own dialog, independent of the per-chunk auto-save checkboxes.
  • Reset / New Session clears what is loaded (saved files are untouched), Check for Updates opens the update page, and Help opens built-in documentation.

Exporting the whole dataset

Large exports are split every "Chunk size" rows so no file exceeds a format’s practical limits. XLSX output becomes multiple sheets (Sheet1, Sheet2 and so on) in one workbook; CSV, JSON, SQL, TSV and XML are written as numbered files such as name_part001.csv and name_part002.csv, so the sequence is obvious and easy to reassemble.

Why It Does Not Lag or Freeze at 50 Million Rows

  • Rows live on disk, not in memory. Everything sits in a local SQLite database in WAL mode, so writing the next chunk to disk and reading rows for the clipboard can happen at the same time.
  • A virtual preview grid. The on-screen grid only ever creates around 60 row widgets, whether the table holds 1,000 or 50,000,000 rows; scrolling just re-queries SQLite for the rows in view.
  • Background threads for every slow task. Parsing, inserting, building chunks and exporting run off the interface thread, and each worker has its own database connection, so the window never freezes.
  • Rowid seeking, not offsets. Later chunks are fetched with a direct rowid seek instead of a slow scan, so copying rows 40,000,001–41,000,000 is as fast as rows 1–1,000,000.
  • Batched loading and assembly. Rows are inserted in transactions of several thousand at a time, and clipboard text is assembled in large batches to keep memory steady.

Compared to Pasting Directly Into Excel

TaskPasting directly / manualMillion by Million Rows Copier
Paste 5 million rowsExcel freezes, crashes or rejects the pasteHand it out in one-million-row chunks that paste cleanly
Hold the datasetEverything sits in memory and bogs the app downRows live in an on-disk database; memory stays flat
Deep chunksLater slices get progressively slowerRowid seeking keeps every chunk equally fast
Save while transferringManual Save As after each pasteEach chunk auto-saves the moment it is copied
Non-spreadsheet sourcesCopy tables out of documents by handLoads 33 formats and extracts the tabular data for you
Keep data privateWeb tools require uploading the file100% offline; nothing leaves your computer

Scope and Limitations

  • Built for moving and exporting data, not editing it: the preview grid is read-only and virtually scrolled.
  • Supports up to 50,000,000 rows, with chunk size from 1 to 10,000,000 rows.
  • Loading a new file replaces the current dataset after a confirmation rather than merging.
  • Legacy .doc and .dot files are read through Microsoft Word’s automation, so Word must be installed; otherwise re-save as .docx. WPS Office formats (.et, .ett, .wps, .wpt) are best-effort, with a prompt to re-save if they cannot be read.
  • Document formats have no "first row is a header" concept, so that option affects only true row-and-column formats.

Offline and Private

Every row you load, copy or export is processed entirely on your own computer. No data is uploaded, scanned remotely or shared with third parties, and the app does not log, analyze, track or store the contents of your data. There is no telemetry, no advertising tracker and no third-party analytics. Internet is used only for license validation, and that request contains no data content. Well suited to confidential exports from SQL databases, HR systems and financial spreadsheets.

Million by Million Rows Copier - main window

System Requirements and Licensing

RequirementMinimumRecommended
Operating systemWindows 8 (64-bit)Windows 10 or later (64-bit)
Processor1–2 CPU cores4 or more CPU cores
Memory2 GB RAM8 GB RAM or more for datasets above 10 million rows
Storage500 MB free, plus room for exported chunks2 GB or more, plus space for every exported chunk; SSD recommended

Purchase through Gumroad, install on Windows and activate once with your purchase email and license key. The license is cached locally, so the app keeps working offline afterwards.