Why split a PDF statement
Banks and brokers hand out PDFs on their own schedule, and the schedule rarely matches what a bookkeeper or accountant needs. Quarterly statements arrive as one file covering three months. Some European current accounts issue a single yearly PDF. Loan servicers dump twelve months of activity into one export. The first thing anyone doing tax prep or reconciliation has to do is slice that file into per-month pieces so each period can be worked on independently.
This tool is that slice, done in the browser. Drop the PDF, and the tool reads the month label printed at the top of each page (nearly every real bank statement repeats the period on every page), groups consecutive pages that belong to the same month, and produces one output PDF per month. If detection misses — for scanned statements without a text layer, or unusual layouts — you can fall back to manual page ranges or a fixed "every N pages" split.
Once the PDF is split
Most people who need to split a statement then need to do something with each month: reconcile it against the ledger, hand it to an accountant, feed it into QuickBooks or Xero. Once you have the per-month PDFs, drop each one into the bank statement converter to extract every transaction as CSV, Excel, .qbo, Xero CSV, Sage 50 CSV, or OFX with locale-correct dates, amounts, and balance reconciliation. Free 7 pages a day, no signup.
How month detection works
Bank statements print the statement period on every page — usually at the top of the header or in the footer. We scan the text layer of each page for date shapes we can trust:
- "January 2025", "Jan 2025" — month name plus four-digit year, in either full or abbreviated form.
- MM/YYYY and MM-YYYY — the shorthand used on many European statements and payslips.
- YYYY-MM — the ISO-order shape common in Nordic and Japanese banks.
- DD/MM/YYYY and DD-MM-YYYY — full dates, from which we lift the month and year.
Each page's dominant month tag wins. Runs of consecutive pages with the same tag become one output file. Pages with no readable month inherit the surrounding month, so cover sheets, disclosures, and blank continuation pages are attached to the split they belong to.
Custom ranges and fixed chunks
Not every PDF is a bank statement, and not every statement labels its months clearly. For everything else, the tool offers two manual modes:
- Custom ranges. Type a comma-separated list of page ranges — for example
1-4, 5-9, 10-14— and each range becomes one output PDF. Single pages like7work too. - Every N pages. Pick a chunk size and the tool slices the PDF into fixed-length pieces. Useful for evenly-sized exports where you just want to break the file into manageable parts.
Under the hood
The month scan uses pdf.js to read the text layer of each page. Splitting itself uses pdf-lib to copy the relevant page objects (with their referenced fonts, images, and content streams) into a fresh PDF. Nothing is re-rasterised: text stays selectable, vector graphics stay sharp, and file sizes stay close to the sum of the input pages.
Everything happens inside your browser tab. The bytes of your PDF never touch our servers — open the network tab in DevTools and you'll see zero upload requests during the whole flow. This matters when the PDF is a bank statement: your name, account number, and every transaction is on those pages, and the safest place for that data is the machine you're already sitting at.
Limits and edge cases
- 50 MB max per file. If you have a larger PDF, open it in a viewer and export chapters first, or use our PDF merge tool in reverse order to bring a subset in.
- Password-protected PDFs are refused. Splitting an encrypted PDF into unencrypted outputs would either strip protection silently or produce unreadable files. Run the file through our PDF password remover first, then split the unlocked copy.
- Scanned image-only PDFswon't have a text layer, so the "by month" mode can't auto-detect anything. Use custom ranges or every N pages instead — the split itself still works fine, because pages are copied as-is regardless of whether they contain text or just image data.
- PDFs with non-standard fonts occasionally trip pdf.js. If detection fails but the file otherwise looks fine, switch to custom ranges. The split path uses pdf-lib, which is far more permissive than pdf.js.
- Digital signatures are invalidated by any split. This is a property of PDF signing, not our tool. If you need the signature to remain valid, leave the document as-is.
Common use cases
- Year-end tax prep. Split a quarterly or annual statement into per-month PDFs before handing each to an accountant.
- Bookkeeping. Reconcile one month at a time against the general ledger — hard to do when three months live in a single file.
- Loan / mortgage prep. Lenders often ask for the last six months as six separate PDFs, not one combined file. This tool is the inverse of the merge many people accidentally did earlier.
- Credit-card and loan statements. Servicers often publish a full year of activity as one long PDF; split it to match the ledger period.
- Expense claims.Extract the single month a claim relates to, so you're not attaching a 40-page statement to justify one dinner receipt.