✂️ PDF SmartSplit Split a PDF
100% in your browser — files never uploaded

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.

1

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.

2

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.

3

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.

What each mode actually checks: free tier's text-match mode does a case-insensitive substring search — it either finds your exact text on the page or it doesn't. A regex pattern instead describes a shape ("the word Invoice, optional #, then digits") that matches every variant fitting that shape in one pass. Honest limitation: regex boundary matching is a Pro feature still in development — free tier today is text-match and every-N-pages only, and an invalid pattern fails loudly rather than silently splitting wrong. Both modes need a real, selectable text layer. PDF SmartSplit uses 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

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.

See Free vs Pro →

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.

More document splitting guides