A browser-based tool that splits a combined PDF statement into individual files — one per account code. No installation, no server, no data upload.
Created by Lim Huey Wen
Accounts receivable teams often receive a single bulk PDF containing statements for every customer. This tool reads that file, detects each account automatically, and produces a separate downloadable PDF per account.
Example: A 12-page PDF with accounts 102001, 102002, 108004 becomes three individual files:
102001.pdf102002.pdf108004.pdf
- Open
pdf-splitter.htmlin any modern browser — no setup required - Drop your combined PDF onto the upload area
- Click Scan & Detect Accounts — the tool reads every page and finds account codes automatically
- Review the detected account list to confirm it looks correct
- Click Split into Separate PDFs
- Download files individually by clicking each card, or click Download ZIP for everything at once
- Auto-detection — tries a comprehensive list of known label patterns (
Account No :,Acc No:,Customer ID:, etc.) and falls back to a heuristic scan if none match - Manual override — if auto-detection misses, use the Edit Pattern field to enter the exact label text and character format
- Multi-page accounts — pages belonging to the same account are automatically grouped into a single output file
- Fully local — all processing happens in the browser using PDF.js and pdf-lib; no data is sent to any server
- ZIP download — download all split files in one archive
Works in all modern browsers (Chrome, Edge, Firefox, Safari). No installation or internet connection required after the page loads.
| Dependency | Version | Purpose |
|---|---|---|
| PDF.js | 3.11.174 | Extract text from PDF pages |
| pdf-lib | 1.17.1 | Create and write output PDF files |
| JSZip | 3.10.1 | Package all files into a ZIP archive |
All loaded via CDN — no build step needed.
The tool tries these label patterns in order, picking the one that matches the most pages:
Account No : Account No: Account No. Account No
Acc No : Acc No: Account Number:
Customer No: Customer ID: Cust No: Invoice No:
If none match, a heuristic scan looks for any LABEL : NUMBER pattern and picks the most frequent one.
Manual override: On the Review screen, click Edit pattern and enter:
- Label — the exact text before the code, e.g.
Account No : - Code characters —
0-9for numbers only,A-Za-z0-9for alphanumeric,A-Z0-9\-for codes with dashes
pdf-splitter.html # The entire application — single self-contained file
README.md
MIT — free to use, modify, and distribute.
PDF Statement Splitter — Lim Huey Wen — https://github.com/limhueywen