Accounting, payroll and banking systems export in bulk by default: one PDF containing every invoice for the month, every payslip for the department, every statement for the quarter. Filing them individually means separating them, and doing it by hand is a page-by-page slog that has to be repeated every cycle.
The structure is already there in the content — each document begins with the same header — which makes that header a reliable cut marker. This is how to split on it.
How to split a batch PDF into individual documents
- Open ihatepdf.cv/split-pdf-by-text — nothing to install, and the batch is never uploaded.
- Drop in the combined PDF — the run of invoices, payslips or statements.
- Type a phrase that appears once on each first page, such as "Invoice Number".
- Check the match preview, which lists every page that will start a new file, with a snippet of its text.
- Split and download individually or as a ZIP.
Choosing a phrase that splits cleanly
The whole result depends on picking something that appears exactly once per document, on its first page.
Good markers are static labels: "Invoice Number", "Statement of Account", "Employee Name", "Purchase Order", "Policy Number". They appear on every first page and nowhere else.
Bad markers are values that change — you cannot split on the invoice number itself, because only a fixed phrase can be matched. Split on the label, not the value.
Dangerous markers are common words that recur in body text. Splitting on "Total" will cut at every page carrying a subtotal, and you will get four times as many files as you expected.
If the first attempt over-splits, the phrase is appearing more often than you thought. Something longer and specific to the header almost always fixes it, and the match preview shows you where it is landing before you build anything.
Case and whole-word matching
Two refinements matter more than they sound. Match case distinguishes "INVOICE" in a header from "invoice" in a sentence. Whole word only stops a short phrase matching inside a longer one — without it, searching for "INVOICE" also matches "INVOICING", which is exactly the sort of near-miss that produces a handful of extra files you then have to find and delete.
Scanned batches need OCR first
A scan is an image. There is no text in it to search until it has been through OCR, so splitting by content simply cannot work on a raw scan. A decent tool detects this and says so, rather than reporting no matches and leaving you to guess whether your phrase was wrong.
If your accounting system emails scanned invoices rather than native PDFs, OCR the batch first and then split. The OCR pass also makes the resulting files searchable, which you want anyway for anything going into an archive.
What the paid tools do that this does not
It is worth being straight about the ceiling. Desktop content splitters aimed at finance departments — AutoSplit, A-PDF, VeryPDF, PDF Splitter Pro — can additionally name each output file after text found on the page, split on regular expressions or barcodes, watch a folder and run unattended, and be driven from a command line as part of a nightly job.
If you are separating ten thousand statements every month and each file must be named after its account number, that is what you want and it is worth paying for. If you have a batch file in front of you now and you want it split into its constituent documents without uploading a year of payroll to somebody else's server, that is what this does.
Why this is normally paid software
Splitting by content has traditionally been the preserve of desktop tools sold to finance and records departments, priced accordingly. The work itself is not exotic — extract each page's text, look for a marker, cut there. It has simply never been worth a free web tool's server bill to process large batch files for nothing. Running it in the browser removes that cost entirely, which is why it can be free here and is not free elsewhere.
Frequently asked questions
How do I split a PDF containing many invoices?
Find a phrase that appears once on each invoice's first page — usually "Invoice Number" — and split on it. Each invoice becomes its own file.
Can I split on the invoice number itself?
No, because it changes every time and only a fixed phrase can be matched. Split on the static label instead.
Does it work on scanned invoices?
Only after OCR. A scan has no text layer to search, so run it through the OCR tool first.
I got far too many files. What went wrong?
Your phrase appears more often than expected, probably in body text. Use something longer and specific to the header, and enable whole-word matching.
What if the phrase appears twice on one page?
Matching is per page, not per occurrence, so a page either starts a new file or it does not. A header that repeats within a page is harmless.
What happens to pages before the first match?
They are kept as the first output file, so a cover sheet is preserved.
Is my payroll or invoice data uploaded?
No. Text extraction and splitting both run inside your browser, which is the main reason to use this rather than a server-based alternative for financial documents.