🔒 Compare PDF documents privately and securely in your browser. No uploads, no servers, 100% client-side processing.
Try it now at www.pdf-diff.com →
- 100% Private & Secure - Your PDFs never leave your device
- No Server Uploads - Zero data transmission, zero risk
- Works Offline - Once loaded, no internet connection required
- Open Source - Inspect the code yourself to verify our privacy claims
- Side-by-Side View - Compare documents with synchronized scrolling
- Unified View - See all changes inline with color coding
- Additions Only - View only what was added
- Removals Only - View only what was removed
- Changes Only - See additions and removals side-by-side per page
- CLI Support - Use via
npx pdf-difffor command-line comparisons - Multi-Page Support - Compare entire documents page by page
- Show All Pages - View all changes across all pages at once
- Export to PDF - Save comparison results as a formatted PDF report
- Page Navigation - Quick navigation between pages
- Statistics Dashboard - Get instant insights on changes
- Dark/Light/System Theme - Choose your preferred appearance
- Visual HTML/PDF Reports - Generate shareable diff reports
- Responsive Design - Works perfectly on desktop, tablet, and mobile
- Drag & Drop - Easy file upload with drag and drop support
- Real-time Processing - Instant comparison results
- Clean Interface - Intuitive and clutter-free design
Compare PDFs directly from your terminal with zero installation:
# Basic comparison
npx pdf-diff original.pdf modified.pdf
# Generate only HTML report
npx pdf-diff original.pdf modified.pdf --report html
# CI-friendly: exit with code 1 if differences found
npx pdf-diff original.pdf modified.pdf --fail-on-diff
# Output as JSON for programmatic use
npx pdf-diff original.pdf modified.pdf --format json
# Interactive mode
npx pdf-diff --interactive| Option | Description | Default |
|---|---|---|
-r, --report <type> |
Report type: html, pdf, or both |
both |
-o, --out <dir> |
Output directory for reports | ./pdf-diff-report |
--open / --no-open |
Open HTML report in browser after completion | --open |
-f, --format <type> |
Output format: text, json, or junit |
text |
--fail-on-diff |
Exit with code 1 if differences are found | - |
-p, --pages <spec> |
Pages to compare (e.g., 1-3,5,7) |
All pages |
-t, --threshold <float> |
Change percentage threshold for failure | - |
-i, --interactive |
Interactive mode with guided prompts | - |
- Visit www.pdf-diff.com
- Upload or drag your original PDF
- Upload or drag your modified PDF
- View comparison results instantly
- Switch between view modes as needed
- Export results to PDF if desired
# Clone the repository
git clone https://github.com/jamesmontemagno/pdf-diff.git
cd pdf-diff
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview
# Run linter
npm run lint- React 19 - Modern UI framework
- TypeScript - Type-safe development
- Vite - Lightning-fast build tool
- PDF.js - Mozilla's PDF rendering engine
- jsPDF - PDF generation for exports
- diff - Text comparison algorithm
- 🟢 Green - Additions (new content)
- 🔴 Red - Deletions (removed content)
- ⚪ White/Gray - Unchanged content
PDF Diff is built with privacy as the top priority:
- No Server Communication - Files are processed entirely in your browser
- No Data Storage - Nothing is saved or cached
- No Tracking - No analytics or user tracking (except standard web analytics)
- No Third-Party APIs - All processing happens locally
- Open Source - Full transparency, audit the code yourself
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - See LICENSE for details.
James Montemagno
- Website: montemagno.com
- GitHub: @jamesmontemagno
- Twitter: @JamesMontemagno
Give a ⭐️ if this project helped you!
