DE

$ ./pdf-toolkit live

Merge, split and compress PDFs without uploading them

For anyone who has to send a contract, a payslip or a scan and does not want to upload it to iLovePDF or Smallpdf. Everything runs in your browser tab: no upload, no account, no watermark, no file limit beyond your device's memory.

PDF Toolkit screenshot

$ cat features.md

  • Merge any number of PDFs into one: drop them in, sort the files, then drag single pages into the order you want.
  • Rotate pages left or right and delete pages, one at a time or a whole selection (Shift+click), with Undo.
  • Split into single pages, every N pages, custom ranges like 1-3, 5, 8- or just the selected pages; several files come as one .zip.
  • Compress by re-encoding the photos and scans inside the PDF at three levels while text stays text, or flatten scans to images for the smallest file. It shows the size before and after and keeps your original if the result is not smaller.
  • Heavy work runs in a Web Worker, so large files do not freeze the page. pdf-lib and PDF.js are bundled with the app, no CDN.
  • No upload, no cookies, no analytics in the tool: once the page has loaded it even works offline.

$ cat why.md

I kept seeing people upload contracts, ID scans and payslips to free PDF websites just to stick two files together. Those sites are convenient, but the file sits on someone else's server for a while. A browser can do merging, splitting and most compression on its own today, so I built a toolkit that never sends the file anywhere. Compression is honest about its limits: a text PDF will barely shrink, a scan will shrink a lot.

$ self-host-it

Requirements
Static files, no build step and no server code. Any web server works (ES modules need http, not file://); tests run with Node.js 20+ (node --test tests/).
Built with
HTML, JavaScript (pdf-lib, PDF.js), Web Worker
License
MIT
Source code