A basic, client-side PDF manipulation tool that runs entirely in your browser. No uploads, no servers, complete privacy.
- 🔗 Merge PDFs - Combine multiple PDF files into one document
- ✂️ Split PDFs - Extract specific pages from PDF documents
- 🔄 Reorder Pages - Drag and drop to rearrange PDF pages
- 🗜️ Compress PDFs - Reduce file size with advanced compression options
- 👁️ View PDFs - Built-in PDF viewer with zoom and navigation
- PDFs: Standard, (some) encrypted and digitally signed
- Images: JPG, jpg, GIF, WEBP, BMP, SVG
- Text Files: TXT, CSV, HTML, JSON, XML
You can access the live application from the pinned link, in the description section of this repository, hosted on GitHub Pages
Choose from merge, split, reorder, compress, convert, or view operations.
Drag and drop files or click to select. Files are processed locally - nothing is uploaded to servers.
Adjust settings if needed and click "Process" to perform the operation.
Your processed files are automatically downloaded to your device.
Ctrl/Cmd + S
- Process filesCtrl/Cmd + H
- Show helpCtrl/Cmd + 1
- Quick search toolsEscape
- Cancel/Go backDelete
- Remove selected elementArrow Keys
- Navigate PDF pages (in viewer)+/-
- Zoom in/out (in PDF viewer)
- 100% Client-Side Processing - All operations happen in your browser
- No File Uploads - Your documents never leave your device
- No Data Collection - I don't track, store, or analyze your files
- Offline Capable - Works without internet connection after first load
- Open Source - Full transparency of code and operations
PDFile/
├── css/ # Stylesheets
│ ├── styles.css # Main styles
│ ├── pdf-viewer.css # PDF viewer styles
│ ├── page-reorder.css # Drag & drop styles
│ └── text-conversion.css # Text conversion styles
├── js/ # JavaScript modules
│ ├── app.js # Main application
│ ├── ui-handler.js # UI management
│ ├── pdf-operations.js # PDF processing core
│ ├── file-handler.js # File management
│ ├── format-converters.js # Format conversion
│ └── [other specialized processors]
├── index.html # Main interface
├── manifest.json # PWA manifest
└── sw.js # Service worker
This project is licensed under the MIT License - see the LICENSE file for details.
- PDF.js - Mozilla's PDF rendering library
- PDF-lib - JavaScript PDF manipulation library
- Bootstrap - UI framework and components
- Bootstrap Icons - Icon library
- File Size Limit: 100MB per file
- Protected PDFs: Some heavily encrypted PDFs may have processing limitations
- Mobile Performance: Large files may process slower on mobile devices
Made with ❤️ for document processing freedom
Keep your files private, keep your data yours.