Whenever you search for a simple utility like "Merge PDF" or "Convert WebP to PNG", you are usually greeted by the same frustrating experience:

  1. A 15MB file upload limit behind an aggressive paywall.
  2. A subscription pop-up asking for $12/month.
  3. Your sensitive personal documents (tax returns, signed contracts, medical records) getting uploaded to an untrusted remote server.

As developers, we know that modern browsers have hardware-accelerated GPUs, multi-threaded Web Workers, and WebAssembly. There is zero technical justification for uploading a document to a cloud server just to merge two pages or change an image format.

So I decided to build SwiftUtils — a suite of 100% client-side, zero-upload web utilities that process everything directly in browser memory.

Here is the exact technical architecture behind how it works.

1. In-Browser PDF Merging with Zero Cloud Leaks

Most online PDF services transmit your PDFs across the wire to a backend running poppler or pdfcpu. Instead, we can load the document structure directly into browser memory using pdf-lib:

 javascript import { PDFDocument } from 'pdf-lib'; async function mergePDFsInBrowser(fileList) { // 1. Create a fresh document in browser memory const mergedPdf = await PDFDocument.create(); for (const file of fileList) { const arrayBuffer = await file.arrayBuffer(); // 2. Parse the PDF structure locally const pdf = await PDFDocument.load(arrayBuffer); const copiedPages = await mergedPdf.copyPages(pdf, pdf.getPageIndices()); // 3. Append pages to the merged document copiedPages.forEach((page) => mergedPdf.addPage(page)); } // 4. Save and generate a local memory blob const pdfBytes = await mergedPdf.save(); const blob = new Blob([pdfBytes], { type: 'application/pdf' }); return URL.createObjectURL(blob); }