ImagePDF.Tools

Split a PDF Wherever a Word or Phrase Appears

Processing securely on your device, no data sent to any server
PDF

or drop files here

Made for long exports that bundle many documents together: invoices, statements, payslips, letters. Type the text that marks where each one starts or ends, check the list of files, and save them as numbered PDFs.

How it works

Find the boundary, cut there.

Add the combined PDF

As soon as the file opens, the text on every page is read once and kept in memory, so each search afterwards works from that copy.

Type the marker text

Enter something printed once per document, such as "Invoice No" or "Employee ID". Matching pages and the files they produce are listed while you type.

Save numbered parts

Decide whether a match opens or closes a file, choose how files are named, and save one ZIP with every part inside.

Use cases

One long export, many separate documents.

Plenty of software can only print a batch as a single PDF. If every document in that batch carries the same label, that label is all you need to pull them apart.

Invoice and statement runs

Billing platforms and banks often export a month of invoices or account statements as a single file. Split at "Invoice No" or "Statement period" and each customer or account gets a file of its own.

Payslips for each employee

A payroll run printed to one PDF can be split at "Employee ID", with every file named after that line, so each person receives only their own payslip.

Mail-merge letters

A merge from Word or a CRM tends to land as one document holding hundreds of letters. Split at a line every letter has exactly once, such as "Our reference", to get one PDF per recipient.

Exam scripts per student

When every script begins with a printed cover sheet showing a candidate number, split at "Candidate number" to give each student a separate file for marking, moderation or return.

Delivery notes and packing slips

Warehouse systems print a whole day of delivery notes in one go. Split at "Delivery note" or "Order number" and attach each one to the right order or customer record.

Batch scans after OCR

Scanned a whole stack in one pass? Run OCR PDF on it first, then split at a heading that opens each document, such as a form title or "Purchase Order".

Worked example: a 300-page invoice batch.

A billing system exports March as billing-export-march.pdf: 300 pages, opening with a 2-page summary and followed by 120 invoices of between one and five pages each. The first page of every invoice has a header line such as "Invoice No 4352", while later pages show only "Continued" and a page number.

1. Search.Type Invoice No and leave Whole words only switched on. The card under the box reads "Found on 120 pages, 121 files": the 120 invoices plus the summary at the front.

2. Cut.Keep "New file starts at the match", since the phrase sits on each invoice's opening page. Every matching page begins a new file, and that file runs until the page before the next match.

3. Name.Leave "Name files after the matching line" on. Each file takes the whole line the phrase was found on, so the invoice number travels with it. The summary pages contain no match, so their file is named after the page range instead.

4. Save. One ZIP, billing-export-march-split.zip, holds all 121 PDFs. Before sending anything to customers, open two or three of them and compare the totals against the summary.

Inside billing-export-march-split.zip

Phrase: Invoice No. Cut: new file starts at the match. Names: from the matching line.

FileOriginal pages
01 billing-export-march (pages 1-2).pdf1 to 2
02 Invoice No 4352.pdf3 to 4
03 Invoice No 4353.pdf5
04 Invoice No 4354.pdf6 to 10
116 more invoices, 05 to 12011 to 297
121 Invoice No 4471.pdf298 to 300

If the header line also carries a date, for example "Invoice No 4352 Date 03/02/2026", the whole line becomes the name and its slashes turn into spaces, because file names cannot contain them. Names longer than 80 characters are shortened.

Reading the preview before you save

The file count is the quickest sanity check: it should equal the number of documents you expect, plus one if there are cover pages. Matching works on single lines of text, a page counts once however many times the phrase appears on it, and the first matching line on the page is the one used for the name.

What you seeLikely causeWhat to change
Nearly as many files as pagesThe phrase is printed on every page, usually in a running header that repeats the invoice number.Choose text that appears once per invoice, such as "Bill to", or a last-page phrase like "Total due" with "File ends at the match".
Fewer matches than invoicesOn some pages the label wraps onto two lines, is worded differently ("Invoice #"), or sits on a scanned image.Search for a shorter piece of the label, turn off whole words, or run OCR on the scanned pages first.
Not found on any pageA typo, different wording, or a label that is part of a logo or letterhead image rather than text.Copy the exact wording from the PDF, or try a single distinctive word from the header.
The summary joined the first invoiceWith "File ends at the match", every page before the first closing match goes into file 01.Use a phrase from the first page instead, or take the summary off beforehand with Split PDF.
Many files ending in (2), (3)The matching line has nothing unique on it, for example a heading that only reads "INVOICE".Search for the line that carries the number, or switch off naming files after the matching line.
Common questions

Questions answered.

Why does it say my PDF has no selectable text?
The pages are most likely scanned images, which means there are pictures of words but no actual text to search. Run the file through OCR PDF to add a text layer, then bring the result back here. Check a few pages afterwards, because labels on a poor scan can be misread.
Should a match start a new file or end one?
Pick "New file starts at the match" when the phrase is printed on the first page of each document, like an invoice number or a payslip header. Pick "File ends at the match" when it is on the last page, like "Total due" or a signature line. The preview list changes the moment you switch, so try both if you are unsure.
Can I use wildcards or several phrases at once?
No. What you type is matched literally, so characters such as * or ? count as ordinary text, and each split uses one phrase. Upper and lower case are treated the same unless you turn on "Match upper and lower case". Search for the part every document shares, for example "Invoice No" rather than a full invoice number.
Can it find a phrase that wraps onto a second line?
No. The text is read line by line, and a match has to fit on a single line. If a label breaks across lines in some documents, search for the part that always stays together. Extra spacing is not a problem, since one space in your phrase matches any run of spaces in the PDF.
What does "Whole words only" change?
It rejects a match when a letter or digit touches either end of your phrase. "Inv" will not match "Invoice", and "Ref 12" will not match "Ref 120", which matters when you search for numbers. Turn it off when you type only the start of a code, such as "INV-" to catch INV-4471 and INV-4472.
How are the files named?
Every name starts with its position in the document: 01, 02 and so on. With "Name files after the matching line" on, the rest of the name is that line of text, while pages before the first match (and any part without a match) are named after the original file and their page range. Characters that file names cannot hold are replaced with spaces, and identical names get (2), (3) added.
Is there a limit on pages or files?
There is no fixed cap. The text of every page and the finished parts are held in your device's memory, so the practical limit depends on the device and the file. Very large or image-heavy PDFs take longer to read, and phones reach their limit sooner than laptops.
Will the split files look different from the original?
No. pdf-lib copies each page into its new file without re-rendering it, so fonts, images and layout are untouched and the text stays searchable in every part. Your original PDF is not changed.
Is it safe for payroll and bank documents?
Yes, because nothing leaves your device. pdf.js reads the text inside your browser, and pdf-lib cuts the parts in a background Web Worker before zipping them on the same device. No copy of the file or of its text is sent to a server.