A fast, privacy-focused PDF toolkit that runs entirely in your browser. No file uploads, no servers — your documents never leave your device.
- 🔒 100% Private — All processing happens locally in your browser
- ⚡ Fast — No upload/download delays, instant processing
- 🆓 Free — No registration, no limits, no watermarks
- 📱 Responsive — Works on desktop and mobile
| Tool | Description |
|---|---|
| Merge PDF | Combine multiple PDFs into one |
| Split PDF | Extract specific pages from a PDF |
| Compress PDF | Reduce PDF file size |
| Rotate PDF | Rotate all pages by 90°, 180°, or 270° |
| PDF to Images | Convert PDF pages to PNG or JPEG |
| Images to PDF | Create a PDF from images |
| Organize Pages | Reorder, rotate, or delete individual pages |
| Add Watermark | Add text watermark to PDF pages |
- Node.js 18+
- npm, yarn, pnpm, or bun
# Clone the repository
git clone https://github.com/kanavtwt/pdf0.git
cd pdf0
# Install dependencies
npm install
# Start development server
npm run devOpen http://localhost:3000 in your browser.
# Build static export
npm run build
# The output will be in the 'out' folder- Framework: Next.js 16 with App Router
- UI: React 19 + Tailwind CSS 4
- PDF Processing: pdf-lib + PDF.js
- Language: TypeScript
pdf0/
├── app/
│ ├── page.tsx # Landing page
│ ├── layout.tsx # Root layout with Navbar & Footer
│ └── tools/
│ ├── page.tsx # Tools grid
│ ├── merge/ # Merge PDF tool
│ ├── split/ # Split PDF tool
│ ├── compress/ # Compress PDF tool
│ ├── rotate/ # Rotate PDF tool
│ ├── pdf-to-images/
│ ├── images-to-pdf/
│ ├── organize/ # Organize pages tool
│ └── watermark/ # Add watermark tool
├── components/
│ ├── Navbar.tsx
│ ├── Footer.tsx
│ ├── FileUploader.tsx
│ └── ProcessingStatus.tsx
└── lib/
└── pdf-operations.ts # Core PDF manipulation functions
PDF0 is configured for static export and works great on:
- Cloudflare Pages
- Vercel
- Netlify
- Any static hosting
MIT License — feel free to use this project for personal or commercial purposes.
If you find this project useful, consider buying me a coffee!