PDFBro for Developers
PDFBro is built entirely with open-source web technology. Every PDF and image operation runs in the browser using standard Web APIs. Here's the tech under the hood and how developers use these tools in their workflows.
Technology Stack
Next.js 16
App Router, SSG for all pages, Server Components
React 19
Client components for interactive tools, RSC for static pages
pdf-lib 1.17
Pure JS PDF creation and manipulation — merge, split, annotate
PDF.js 3.x
Mozilla's PDF renderer — used for compression and image conversion
browser-image-compression
Client-side JPEG/PNG/WebP compression
JSZip
ZIP file generation for multi-file downloads
Mammoth.js
DOCX to HTML conversion for Word editing
Framer Motion 12
Animations — lazy loaded to avoid blocking paint
Tools Developers Use Most
QR Code Generator
Generate QR codes for app deep links, debug URLs, test flows
PDF to Text
Extract text content from PDFs for LLM context
Image to WebP
Convert design assets to WebP for web performance
SVG to PNG
Convert vector exports to raster for cross-platform use
Text to PDF
Convert markdown or plain text outputs to PDF
GIF to MP4
Convert demo GIFs to smaller MP4 for documentation sites
Architecture Note: Browser-First
PDFBro processes nearly all operations locally using pdf-lib and PDF.js via CDN-loaded scripts (bypassing webpack's import.meta.url restrictions). Files are read into ArrayBuffer via FileReader, processed in memory, and delivered via Blob URLs. The PDF.js CDN script is loaded on-demand using a shared singleton loader in lib/pdfjsLoader.ts — one script tag, no duplicates across tool navigations.