A 12 GB mysqldump file, a phpMyAdmin upload cap of 2 MB, and a max_allowed_packet error halfway through the import. That is the moment most people start looking for a “SQL dump splitter” — and the moment a naive split -l 100000 makes things worse, because it cuts the dump in the middle of a statement.
Here are the tools that actually come up, what each one is good at, and how to choose without breaking the dump.
Disclosure: SQLDumpSplitter is our own product. It gets its own section at the end, after the alternatives. The comparison table includes it so you can see every option in one place.
How to judge a SQL splitter for dump files
Before the tools, the criteria that matter:
- Does it split at statement boundaries? A dump contains semicolons inside quoted strings,
/ /comments, stored procedures and triggers. Splitting every N lines is fast and wrong. - Does it survive the whole file? A browser tab has a memory ceiling; a 20 GB dump is a different problem from a 200 MB one.
- Can you split by table or row count, not only by size? Size is what hosting limits care about; tables and rows are what partial restores and test environments care about.
- Does it preserve session state?
SETstatements,USE, transaction boundaries andCOMMITneed to stay in every part, or later parts fail on import. - Does it understand your database? MySQL
INSERTbatches, PostgreSQLCOPYand$$bodies, SQL ServerGO, Oracle PL/SQL and DB2 are not the same text format. - Can it run unattended? A CLI (or at least a saved task) matters if you split the same kind of dump every week.
- Where does the file go? Browser tools that process locally are fine for private dumps; anything that uploads is not.
The comparison
| Tool | Best for | Price | Watch out |
|---|---|---|---|
| SQLSplit | a quick one-off split, no install | Free, runs in the browser | Large dumps are limited by browser memory |
| MinifyTool SQL File Splitter | statement-aware splitting in a browser tab | Free | Browser memory; no table/row modes |
| SQLSplitter (formerly SQLDumpSplitter3) | MySQL/MariaDB on the desktop | Free up to 10 MB per file, then €1.50 per file | MySQL/MariaDB only; pay per large file |
| SQL Dump Splittr | MySQL/PostgreSQL, structure + data files | Free (MIT) | Windows only; last release 1.2 (2017) |
| SQLDumpSplitter | 10 GB+ dumps, six databases, by table/size/rows, CLI | $75 one-time, 30-day trial | Desktop install |
The table covers the alternatives; our product is covered below.
SQLSplit
The lowest-friction option — and what most people mean by a SQL splitter online: open the site, drop in a .sql or .sql.gz file, choose a target size or line count, and download the parts (individually or as a ZIP). It runs entirely in the browser and its own documentation says the file never leaves the device. It preserves headers, footers and multi-line statements, which is exactly what a line-based split does not do.
The honest limit is the browser: SQLSplit’s documentation says extremely large files can hit browser memory limits. For a WordPress dump of a few hundred MB it is ideal; for a 15 GB warehouse export it is the wrong tool.
MinifyTool SQL File Splitter
Another free browser splitter, with a bit more control: maximum size per split, a configurable delimiter, an output prefix and optional comments in each chunk. MinifyTool says it splits at statement boundaries (after semicolons), not blindly by size, and it accepts .sql or plain text dumps.
Same trade-off as SQLSplit — no install, no upload, but the tab is the machine. There is no “split by table” or “split by row count”, so it solves the upload-limit problem, not the “give me just these three tables” problem.
SQLSplitter (formerly SQLDumpSplitter3)
If you searched for SQLDumpSplitter3, this is where that project went: same author, renamed, now at version 1.1.0. It is a native desktop tool for Windows, macOS and Linux, built around a small SQL parser rather than line counting.
It is specifically a MySQL/MariaDB splitter, and a careful one: multi-row INSERTs are split across files, ON DUPLICATE KEY statements are preserved, and SET/USE statements are repeated in every part. Files up to 10 MB split for free; after that it is a one-time €1.50 per file purchase, and the same file can be split again on any machine. Only a hash of the file is sent for the licence check, not the contents.
If your world is MySQL and you want a desktop tool with a per-file price instead of a subscription, this is a strong, honest option.
SQL Dump Splittr
A free Windows wizard for MySQL and PostgreSQL dumps. It splits by target file size, but in a useful way: it writes one structure file with the CREATE/ALTER statements and separate data files with the INSERT/COPY statements, so you run the structure first and then the data parts. Very large COPY statements are split too.
Two caveats. It is Windows only, and the changelog still shows version 1.2 from 2017 — it works, but do not expect new database versions to be actively tested. For PostgreSQL it expects you to run the resulting files with psql.
The native baseline: split and phpMyAdmin
split -l 100000 dump.sql part_ is free and everywhere, and it is also the classic way to corrupt a dump: it splits on lines, not statements, and leaves no headers or COMMIT in the parts. phpMyAdmin can export in chunks and import a file under its upload limit, but it cannot split an existing 10 GB dump for you. Use these for a quick look, not for a production restore.
SQLDumpSplitter — for dumps that are too big for the other tools
SQLDumpSplitter is our desktop splitter for Windows, Linux and macOS (version 1.4.1). It is built for the case where the dump is measured in gigabytes and the import has to be repeatable:
- Three split modes: by table (extract only the tables you need, with batch selection), by file size (MB/GB, with transaction integrity at split points), and by row count (an exact number of rows per file).
- Six databases, not just MySQL: MySQL 5.5–9.0+, PostgreSQL 9.x–18+, SQL Server 2000–2025+, Oracle 8–23ai, DB2 9.1–12.1+ and SQLite 3.0+ — with each dialect’s statements preserved.
- Built for large files: multi-threaded processing at GB/min, and no hard file-size limit beyond your system’s disk and memory. A 10 GB dump is a normal job, not an edge case.
- Syntax validation while splitting: critical statements (
CREATE TABLE,INSERT,COMMIT, transaction boundaries) are detected and kept import-ready. - A real CLI:
.baton Windows,.shon Linux/macOS, so scheduled splits and unattended maintenance do not need a GUI.
Free 30-day trial, then $75 one-time (no subscription). See SQLDumpSplitter and the command-line guide.
Which one to pick
- One-off dump, a few hundred MB, no install: SQLSplit or MinifyTool.
- MySQL/MariaDB, desktop, happy to pay per large file: SQLSplitter (the old SQLDumpSplitter3).
- Windows, MySQL or PostgreSQL, structure + data files: SQL Dump Splittr.
- 10 GB+, several database types, split by table or rows, or run it from a script every week: SQLDumpSplitter.
How to split a large SQL dump with SQLDumpSplitter
- Open SQLDumpSplitter and choose the dump file (or a folder of dumps). It reads the file incrementally, so the whole dump does not have to fit in memory.
- Pick a split mode. By table is the one to use for a partial restore or a per-table archive; batch-select the tables you need.
- Or set a target file size to stay under an upload limit, or a row count for test data and incremental imports.
- Choose the output folder, run the split, and import the parts in order. If this is a recurring job, save the task and run the same configuration from the CLI.
FAQ
Is there a free SQL dump splitter?
Yes. SQLSplit and MinifyTool are free browser tools, SQLSplitter is free for files up to 10 MB, and SQL Dump Splittr is free Windows software. SQLDumpSplitter is paid, with a 30-day trial.
How do I split a SQL file that is too large for phpMyAdmin?
Aim below the upload limit rather than exactly at it — 10–20 MB per file is a common starting point on shared hosting. If the dump has foreign keys or triggers, split by table or keep the original order and import the parts sequentially, checking each one before moving on.
Will splitting break my SQL statements?
Only if the tool splits by lines instead of statements. A dump can contain semicolons inside strings, comments and stored procedures, so statement-aware splitting matters. All four alternatives above claim to preserve statements; a line-based split does not.
Can I split by table or row count, not just by size?
SQLDumpSplitter does all three (table, size, row count). SQL Dump Splittr separates structure and data files. SQLSplit, MinifyTool and SQLSplitter are size/line based.
Does it work with PostgreSQL, SQL Server or Oracle?
The browser tools are text splitters and do not understand dialects. SQLSplitter is MySQL/MariaDB only. SQL Dump Splittr handles MySQL and PostgreSQL. SQLDumpSplitter covers MySQL, PostgreSQL, SQL Server, Oracle, DB2 and SQLite.
Can I automate splitting on a server?
SQLDumpSplitter ships a CLI for Windows and Linux/macOS. The browser tools cannot run unattended, and SQLSplitter and SQL Dump Splittr are GUI applications.
Final thought
Pick by the size and the database, not by the feature list: a browser tab is the right answer for a 300 MB WordPress dump, and the wrong answer for a 20 GB migration. If you split the same kind of dump often, or need it by table or row count, a desktop tool with a CLI pays for itself the first time an import fails at 80%.
Facts checked October 2026. Prices, versions and supported databases change — verify on each vendor’s page before buying.
Sources: SQLSplit (free, browser; FAQ, accessed 2026-10-20) · MinifyTool SQL File Splitter (sitemap lastmod 2026-05-02) · SQLSplitter (v1.1.0, © 2024; formerly SQLDumpSplitter3) · SQL Dump Splittr (v1.2, 2017, MIT) · SQLDumpSplitter 1.4.1 and product page.
SQL Dump Splitter without the manual work
For batch jobs, large files and scheduling use the SQL Dump Splitter converter — an offline desktop app for Windows, Linux and macOS. Free trial.