Auto-Split

Auto-split a PDF into the documents hiding inside it.

Drop in the 900-page scan somebody handed you. KeptPDF finds where each document ends and the next one begins, names each one from its own first page, and gives you separate files. Your PDF never leaves your browser.

A document sealed inside a Faraday cage. Your files stay fully private, on your device. A document sealed inside a Faraday cage. Your files stay fully private, on your device.

Nobody scanned that box one document at a time.

A whole file drawer went through the feeder. What came out was a single PDF with forty documents in it, in reading order, with nothing marking where one stops. So somebody scrolls. Watching for the letterhead to change. Noting the page it changed on. Extracting the range. Typing a filename. Then scrolling again, four hundred more pages. That job is a day, and it is the same day every time a new box shows up.

The difference in one sentence

Your computer can already see the letterhead change, the page numbering restart, and the paper size flip. There is no reason a person should be the one watching for it.

KeptPDF reads every page of your file on your device, proposes where the documents break, and shows you the answer as colored bands over your own thumbnails. You confirm or you correct it. Then it writes the files. Check the Network tab while it runs: your pages never appear in a request.

How to auto-split a PDF into separate documents

Three steps. No account, no upload, no page quota on detection.

1. Drop the PDF in

Open Organize Pages and drop your file. Every page renders as a thumbnail in your browser. Detection starts on its own and reads the whole file, however long it is.

2. Look at what it found

Each document gets its own color band and its own name, pulled from the words on its first page. Disagree with a break? Click the gap between any two pages to add or remove one. Turn the sensitivity up if it merged two things, down if it cut too often.

3. Split

One press writes one PDF per document, each named with the pages it came from so the files sort in reading order. Your original is only read, never changed.

It reads the page the way you do.

No template to configure. No sample documents to train on. No model to pick.

The letterhead changed

A running header that holds for eleven pages and then becomes a different one is a boundary. So is a caption block that appears on every page of one document and never again.

The page numbering restarted

"Page 1 of 12" after a "Page 9 of 9" is the document telling you where it starts. Exhibit stamps, Bates numbers, and docket stamps get read as furniture, not as titles.

The paper changed

Letter to legal, portrait to landscape, clean text to a grainy scan, color to black and white. A physical change in the stack is a change in the stack.

The scans get read too

A stack of images has no text to compare, so KeptPDF offers to read the scanned pages with on-device OCR and then look again. That happens in your browser as well. Nothing is sent out to be recognized.

The names come off the page

Each document is named from the real title printed on its own first page. Nothing is invented, and nothing is guessed at by a language model. When there is no title to find, it says so and falls back to the page range instead of making something up.

The file never moves

All of it runs in the browser tab you already have open. Not a server in a region you picked from a dropdown. Not an AI vendor's API. The tab.

The other ways to solve this all cost you something.

This is a genuinely hard problem, and the market prices it that way.

What you are actually choosing between

Do it by hand and pay in days. Buy the enterprise classification module and pay in five figures plus a setup project. Send it to a cloud AI splitter and pay per page, in a place your file was never supposed to go.

Document boundary detection is still an open research problem. A 2026 Amazon Science paper that benchmarked it across five datasets called boundary detection "the primary bottleneck" and named it a direction for future research. Published vendor benchmarks in the same year found that pointing a frontier language model at the job does not solve it either. KeptPDF does not try to win it with a bigger model. It solves it the way a records clerk does, by reading the structure of the page, which is also why it can run on your laptop with the network unplugged.

Free finds every document. Pro delivers all of them.

Detection is never metered. You always get to see what is in your file before you decide anything.

Free, no account

Scanning is uncapped. Drop in a 900-page file and see all forty documents, named, with the breaks you can edit. Free saves the documents that sit inside the first 50 pages of the original.

Pro: the names in the filenames

Pro writes the detected title into each output filename, after the page span, so a folder of results reads like an index instead of a pile of page ranges. That is the manual typing the job is really made of.

Pro: a manifest for the record

Split a file into several documents and Pro drops a CSV in the ZIP next to them, listing each output file, its first and last page in the original, its detected name, and its SHA-256. Six months later that answers both questions anyone asks: which pages is this, and has it changed since.

Or run the whole box from a terminal

The KeptPDF CLI ships the same engine. keptpdf split --auto takes one file or a batch of them and writes the documents it finds into an output folder, on the machine holding the files. Nothing leaves it either.

Splitting a different way

Same engine underneath, all of it on your device.

Questions, answered.

How does it know where one document ends and the next starts?
It reads the structure of every page and looks for the signals a person looks for: the running header or letterhead changing, page numbering restarting at 1, a title sitting where a title sits, the paper size or orientation flipping, a scanned block starting, a signature or execution page ending one thing. No single signal decides it. They are weighed together, and the result is shown to you as an editable suggestion, never applied silently.
Does it work on scanned PDFs with no text layer?
Yes. Image-only pages still carry visual signals like size, orientation, and ink density. When a run of pages has no readable text, KeptPDF offers to read those pages with OCR that runs in your browser, then looks again with the text it recovered. The scans and the recognized text both stay on your device.
Is my document uploaded to a server?
No. Detection, OCR, naming, and the split itself all run in your browser. No page content and no recognized text is transmitted anywhere. You can open your browser's Network tab and watch the whole job run without your file appearing in a single request.
What if it puts a break in the wrong place?
You fix it in a click. Every proposed break sits in the gap between two thumbnails, and clicking a gap adds or removes one. A sensitivity control raises or lowers how eagerly it cuts across the whole file at once. Nothing is written until you press split, and your original PDF is never modified.
Is there a page limit?
Not for finding the documents. Detection reads your whole file at any length, free and with no account. Free saves the documents that sit inside the first 50 pages of the original, whole documents only. Pro ($29/month) saves every document, writes the detected name into each filename, and can produce a CSV manifest with page spans and SHA-256 hashes.
Can I run this on a whole folder without a browser?
Yes. The KeptPDF CLI runs the same splitting engine from a terminal with keptpdf split --auto, so a backfile of scans can be processed on the machine that holds them, with no browser and no network. It can read scanned pages first and let you review the documents it found before it writes anything. See the CLI page for licensing and setup.

Find out what is actually in that PDF. Free, in your browser.

Auto-split a PDF