Tip
Are you looking for a private, browser-based Office suite with excelent compatibility with Office documents? Check out Insuite Office, it's completely free and without installation needed.
A modern, privacy-first, and browser-native PDF powerhouse.
MYPDF is a private, local-first, browser-only, no-cloud PDF suite. With the same tools that other PDF suites offer, but with a big difference: all is procesed in your browser, nothing is uploaded to the cloud because there's not any cloud server involved.
Take back your privacy with MYPDF. It's completely free
Note
If you like this project, please consider giving it a ⭐ on GitHub. Thanks!
You can discover more projects focused on privacy, AI and Linux on inled.es
- Reorder & Move: Intuitively drag and drop pages to restructure your documents.
- Rotate & Delete: Cleanup scans or fix orientation with one click.
- Advanced Cropping: Trim page margins for better readability.
- Smart Numbering: Add customizable page numbers automatically.
- Watermarking: Secure your documents with text overlays.
- Password Protection: Protect your documents with a password.
- Duplicate Detection: Visually identify and manage repeated pages.
- High-Fidelity Rendering: Powered by
PDF.jsfor crisp, accurate page previews. - OCR Integration: Extract text from images and scanned documents using
Tesseract.js. - Mosaic & Focus Views: Switch between a bird's-eye grid view and a detailed single-page workspace.
- Enterprise: Personal or corporate documents that cannot be shared externally.
- Personal: Health records, legal documents...
- Core: Vue 3 (Composition API)
- Language: TypeScript
- Build Tool: Vite
- PDF Engine: pdf-lib & pdf.js
- Intelligence: Tesseract.js (OCR)
- Icons: Lucide Vue Next
- Node.js (Latest LTS recommended)
- npm or yarn
- Clone the repository:
git clone https://github.com/youruser/MYPDF.git cd MYPDF - Install dependencies:
npm install
- Run the development server:
npm run dev
- Build for production:
npm run build
This project is licensed under MIT-INLED
Developed with ❤️ by JaimeGH.