SecurePDF Splitter is a high-performance, privacy-first web application designed to split large PDF documents directly in your browser. Unlike traditional tools that require uploading files to a server, this application processes everything locally on your device using WebAssembly and JavaScript, ensuring your sensitive documents never leave your computer.
- No Server Uploads: All PDF manipulation happens in your browser memory.
- Secure: Perfect for legal, financial, or personal documents.
- Offline Capable: Works without an active internet connection after initial load.
The app uses advanced heuristics to detect your device's capabilities and adjust performance limits accordingly:
- High-Performance Mode (500MB Limit): Automatically enabled for Macs, Windows Desktops, and M-Series iPads (M1/M2/M4).
- Pro Mobile Mode (300MB Limit): Specifically detects modern iPhones (iPhone 15 Pro, 16 Pro, 17 Pro) using screen geometry and OS version heuristics.
- Standard Mode (200MB Limit): Safe default for standard mobile devices and older tablets to prevent browser crashes.
- Split by Pages:
- Divide documents into chunks of N pages.
- Smart Default: Automatically suggests 10% of the total page count.
- Split by File Count:
- Split a document into X equal files.
- Smart Default: Calculates logical breakpoints (approx. 1 file per 100 pages).
- Split by Size:
- Dynamic algorithm that calculates page sizes individually to ensure resulting files stay under a specific MB limit (e.g., "Under 10MB").
- React 18: UI and State Management.
- TailwindCSS: Modern, responsive styling.
- pdf-lib: Pure JavaScript PDF manipulation library.
- JSZip: Client-side ZIP creation for downloading multiple files at once.
- ES Modules: No build step required; uses browser-native modules via
esm.sh.
Since this project uses ES Modules directly in the browser, it requires a simple static server to avoid CORS issues with local file access (file:// protocol).
- Clone or Download the repository.
- Start a local server in the directory:
- VS Code: Use "Live Server" extension.
- Python:
python3 -m http.server 8000 - Node:
npx serve .
- Open
http://localhost:8000in your browser.
- Desktop: Chrome, Edge, Firefox, Safari (macOS).
- Mobile: Safari (iOS 17+ recommended for high-performance mode), Chrome (Android).
Note: This application is purely client-side and does not use any external APIs or backend services for PDF processing.