Compare PDF
Organize PDFReview two PDF versions side by side and highlight visual differences.
pdf.js
Authoritative technical specifications, browser runtime architecture, data processing models, and guides for all 33 privacy-first PDF utilities.
Review two PDF versions side by side and highlight visual differences.
pdf.js
Reduce PDF structure and metadata overhead in the browser.
pdf.js
Change the visible crop box using page margins.
pdf-lib
Annotate PDF pages with pen, text, highlights, shapes, and lines.
pdf.js
Turn a selected workbook sheet into a printable PDF using the browser print dialog.
SheetJS
Copy selected page numbers or ranges into a new PDF.
pdf-lib
Fill supported interactive PDF form fields and flatten the result.
pdf-lib
Print pasted HTML or an opened URL to a PDF from the browser.
Native Browser Print Engine
Combine JPG, PNG, GIF, or WebP images into a single PDF.
pdf-lib
Combine multiple PDFs into one document in the selected file order.
pdf-lib
Recognize text in scanned PDF pages with browser-based Tesseract OCR.
pdf.js
Reorder, rotate, and delete PDF pages using thumbnails.
pdf.js
Stamp configurable page numbers onto every page of a PDF.
pdf-lib
Extract aligned PDF text into XLSX or CSV rows and columns.
pdf.js
Render selected PDF pages into JPG or PNG images.
pdf.js
Extract selectable PDF text into editable Markdown with optional headings.
pdf.js
Rewrite a PDF with selectable archival metadata and PDF/A options.
pdf-lib
Render up to 20 PDF pages as slide images in a PPTX.
pdf.js
Extract PDF text into DOCX, RTF, or plain text output.
pdf.js
Read PPTX slide text and create a browser print layout for PDF.
JSZip
Add password encryption and permission settings to a PDF.
pdf-lib
Draw black rectangles over sensitive areas and export a flattened PDF.
pdf.js
Delete selected page numbers or ranges from a PDF.
pdf-lib
Try to parse and reserialize a malformed PDF structure.
pdf-lib
Rotate all, odd, even, or custom PDF pages by a selected angle.
pdf-lib
Capture camera images or upload photos and assemble them into a PDF.
navigator.mediaDevices.getUserMedia + HTML5 Canvas + pdf-lib
Draw or type a signature and place it on a rendered PDF page.
HTML5 Signature Pad Canvas + pdf-lib
Create separate PDFs from ranges, every page, or groups of N pages.
pdf-lib + JSZip
Extract PDF text and request a summary through the page’s configured AI service.
pdf.js
Extract selected PDF text and translate it through the configured free translation API.
pdf.js
Remove supported PDF encryption when you provide the document password.
pdf-lib
Stamp custom text across every page with opacity, color, angle, and size controls.
pdf-lib
Convert DOCX text and basic formatting into a browser print layout.
mammoth.js
PDFHub operates as a static, decentralized web utility platform. Unlike legacy PDF converters that upload documents to remote server farms, PDFHub compiles document transformation pipelines into WebAssembly and JavaScript engines that execute directly inside your device's browser memory.
ArrayBuffer memory buffers. They are parsed, modified, and serialized entirely in local RAM. Zero bytes are uploaded to any server.
| Category | Tools Count | Implemented Tools | Network & API Behavior |
|---|---|---|---|
| 100% Client-Side | 31 Tools | Merge, Split, Remove, Extract, Organize, Scan, Compress, Repair, JPG to PDF, Word to PDF, PPT to PDF, Excel to PDF, HTML to PDF, PDF to JPG, PDF to Word, PDF to PPT, PDF to Excel, PDF to PDF/A, Rotate, Page Numbers, Watermark, Crop, Edit, Forms, Protect, Unlock, Sign, Redact, Compare, Summarize, PDF to Markdown | Zero Network Calls. Files are never uploaded or transmitted off the client device. |
| CDN Model Assisted | 1 Tool | OCR PDF (ocr.html) |
Image processing is performed locally in browser via Tesseract.js WebAssembly worker. On initial run, the worker fetches trained language weights (eng.traineddata.gz) from official CDN. Document images never leave the device. |
| External API Hybrid | 1 Tool | Translate PDF (translate.html) |
Text extraction occurs locally via pdf.js. Selected text chunks (<500 characters) are transmitted via HTTPS to the free public MyMemory Translation API to obtain multi-lingual translated strings. |
PDFHub does not store document content in persistent browser storage. Storage is restricted to lightweight user preferences:
pdfhub-theme: Stores user interface color theme ("dark" or "light").pdfhub-favorites: Stores an array of favorited tool IDs locally.pdfhub-recent-history: Stores timestamped log of tool navigation (no document contents or file names are retained).Because PDFHub performs document manipulations in browser RAM, file capacities are bounded by available system memory and browser tab allocations rather than artificial paywalls.
| Operation | Input Formats | Output Formats | Underlying Engine |
|---|---|---|---|
| PDF Assembly | .pdf |
.pdf, .zip |
pdf-lib + JSZip |
| Office to PDF | .docx, .pptx, .xlsx, .xls, .csv |
Formatted PDF (Browser Print Engine) | Mammoth.js, JSZip, SheetJS |
| Images & Scans | .jpg, .jpeg, .png, .webp, Camera Stream |
.pdf, .jpg, .png |
HTML5 Canvas 2D + pdf-lib |
| PDF to Office | .pdf (text-based) |
.docx, .xlsx, .pptx, .txt |
pdf.js + docx.js / SheetJS / PptxGenJS |
| Text & Web | .html, HTML Code, URL |
.pdf, .md, .txt |
DOM Parser + pdf.js |
PDFHub is engineered for immediate productivity without login hurdles, registration walls, or software installations.
PDFHub features full PWA capabilities including a Web App Manifest, Service Worker caching, and an offline shell. Installing gives you a native desktop or mobile window experience with faster boot times and offline tool availability.
Diagnose common browser memory issues, document encryption restrictions, and layout quirks with these verified solutions.
| Symptom / Error | Underlying Cause | Verified Resolution |
|---|---|---|
| Tab crashes or reloads during processing | Browser ran out of heap memory on an exceptionally large PDF (>150 MB). | Close extraneous browser tabs, or use Split PDF to partition large documents into smaller page batches before applying heavy processing. |
| PasswordRequired or Decryption Error | Document is secured with owner or user encryption. | Unlock the document first using the authorized password in Unlock PDF before merging or converting. |
| Extracted Word / Excel document is blank | Source PDF contains scanned raster images rather than selectable vector text. | Run the PDF through OCR PDF to extract text characters from images before converting. |
| Corrupted or truncated PDF stream | Damaged cross-reference (xref) table or broken EOF trailer. | Run the damaged document through Repair PDF to regenerate the catalog structure. |
PDFHub is designed as a modular static architecture that compiles into standard HTML, CSS, and modern JavaScript with zero heavy framework bloat.
pdf-lib (v1.17.1), pdf.js (v3.11.174), Tesseract.js (v5.0.5), SheetJS (xlsx.full.min.js), Mammoth.js, docx.js, PptxGenJS, JSZip.https://pdfshub.netlify.app/https://pdfshub.smartstores.in/| Command | Description |
|---|---|
npm run dev |
Launches local HTTP preview server. |
npm run build / npm run build:dist |
Compiles production distribution bundle into clean dist/ directory. |
node scripts/generate-sitemap.mjs |
Generates canonical sitemap.xml with verified routes. |
node scripts/audit-seo.mjs |
Runs comprehensive automated SEO, canonical, and metadata audit. |
node scripts/validate-deployment-assets.mjs |
Validates build assets, service worker, manifest, and favicons. |