Split a PDF by text — or, with Pro, by regex pattern.
A literal text match works when every document prints the exact same boundary label. It breaks the moment that label's format drifts — "Invoice #1042" on one page, "INV-1042" on the next, "Invoice No: 1042" on a third. One flexible regex pattern can catch every variant at once; a plain string can't. Here's how each applies, right in this browser tab, nothing uploaded.
No signup. No install. Free for files up to 30 pages.
How to choose between text match and regex
Start simple, and only reach for a pattern once you can see a literal string won't hold up.
Try a literal text match first
Most batches from a single system print one consistent label — "Invoice #", "Account:", "Employee Name:". A plain substring match handles this for free, with nothing to configure beyond the label itself.
Watch for inconsistent matches
If some documents in the batch split correctly and others don't, check whether the label's exact wording or punctuation changes between them — that's the signal a regex pattern is what you actually need.
Drop your file in, download the zip
A new file starts on every page matching your text or pattern — packaged into a zip, one PDF per document.
pdf.js to read the text and
pdf-lib to assemble each
document's pages into their own file, both running as JavaScript in this page.
Split your PDF by text
Free tier: 1 file at a time, up to 30 pages. Text-layer PDFs only (no scanned/OCR yet).
Drag & drop your combined PDF here, or click to choose
Up to 30 pages · stays on this device
Preview
Split mode
Need a pattern, not just a plain string?
Pro (in development) replaces the plain substring search with a full regex boundary —
a pattern like Invoice\s*#?\s*\d+
matches "Invoice #1042", "Invoice 1042", and "INVOICE#1042" in one pass, plus lets you extract a capture
group straight into the output filename — no more hand-checking every label format in the batch — along
with multi-file batch processing and unlimited pages. One-time $19, no subscription.
Your document never leaves your browser
PDF SmartSplit has no upload endpoint, no server that touches your document, and no account to leak. Open your browser's network tab while you split a file — you'll see it stay quiet. Processing uses pdf.js and pdf-lib running as JavaScript in this tab; the zip is built in memory and handed straight to your browser's download dialog.