Your PDFs. Your device. Your privacy.
A blazing-fast, privacy-first PDF utility suite powered by WebAssembly. Unlock, protect, merge, split, organize, convert, redact, and inspect documents with 26 tools 100% in your browser.
Why OwnPDF? β’ 26 PDF Tools β’ Architecture & Privacy β’ Tech Stack β’ Getting Started β’ Testing
Every day, millions of people upload sensitive documentsβe-Aadhaar cards, bank account statements, tax filings, salary slips, and medical recordsβto random cloud PDF websites just to remove a password, merge two pages, or split a chapter.
Those servers gain full access to your most confidential information.
OwnPDF solves this completely. By compiling industry-standard PDF engines (QPDF, pdf-lib, and Mozilla PDF.js) directly to WebAssembly and executing them inside client-side Web Workers, OwnPDF brings desktop-class PDF manipulation into your web browser.
- π« Zero Server Uploads: No backend server exists. Files never leave your local RAM.
- π‘οΈ Zero Tracking: No Google Analytics, telemetry, cookies, or remote logging.
- β‘ Hardware Accelerated: Multi-threaded Web Workers with zero main-thread UI freezing.
- π¨ Modern Sky-Blue Aesthetic: Beautiful, fluid design with adaptive dark/light themes and bundled local typography.
- π¦ 26 Built-In Tools: Complete toolkit covering security, organization, conversion, optimization, and document inspection.
OwnPDF delivers 26 production-grade PDF tools organized into five intuitive categories:
Permanently remove document opening passwords from authorized files.
- Ideal for: Indian e-Aadhaar cards, bank e-statements, locked payslips, and invoices.
- Engine: Client-side QPDF WebAssembly Worker for cryptographic decryption.
- Safety: Clear diagnostics distinguishing wrong passwords from corrupted documents.
- Preview: Instant first-page canvas preview rendered with Mozilla PDF.js.
Secure your documents with military-grade encryption.
- Standard: Genuine AES-256 bit document encryption via QPDF WASM.
- Entropy Meter: Real-time visual password strength assessment.
- Pre-download Check: Verifies header validity and
%PDF-signature before saving.
Stamp custom text or image watermarks onto document pages.
- Customization: Configurable opacity, font size, angle, repeating grid patterns, and z-order placement.
- Scope: Apply watermarks across all pages, odd/even subsets, or specific ranges.
Permanently destroy sensitive information with irreversible raster reconstruction.
- Destruction: Affected pages are rebuilt exclusively from sanitized raster imagesβpurging underlying text and vector operator streams completely.
- Shape Tools: Text-selection redaction, freehand rectangles, squares, circles, and ellipses.
- Status: Under active development. Fully functional client-side raster burning; visual preview and canvas alignments are continuously refined.
Combine multiple documents, certificates, or assignments into one unified file.
- Drag & Reorder: Interactive file sequence manager with move up/down controls.
- Multi-source: Merge files from your session queue or pick new files on the fly.
- Integrity: Preserves document resolution, bookmarks, and vector elements.
Extract specific portions of large documents with precision.
- Flexible Ranges: Syntax support for custom ranges (e.g.
1-3, 5, 8-12). - Single Page Extraction: Split all pages into separate standalone documents.
- Smart Export: Download individual slices or bundle everything into a single ZIP archive (powered by JSZip).
Visual page organizer with interactive page-level management.
- Live Gallery: HiDPI thumbnail grid rendered directly from PDF vectors.
- Page Operations: Rotate pages clockwise (90Β° increments), reorder via drag/click, or delete unwanted sheets.
- Safety Net: Instant undo capability for deleted pages before saving.
Permanently rotate selected pages or entire PDF files.
- Increments: 90Β°, 180Β°, and 270Β° clockwise rotations.
- Selective: Rotate all pages, odd pages, even pages, or specific page lists.
Insert customizable page numbers and pagination headers/footers.
- Positions: Top/bottom and left/center/right alignment.
- Formatting: Custom prefixes, suffixes, roman numerals, and starting offsets.
Trim margins or adjust visible bounding boxes across document pages.
- Interactive: Visual crop box preview with draggable edge handles.
- Standard Presets: Quick margins, uniform trim, or custom dimensions in points.
Invert page order with 1-click presets.
- Modes: Entire document reversal, custom ranges, or alternating duplex scanner back-sides.
Detect and purge empty or accidental scanner pages automatically.
- Dual-Analysis: Combines ink-density pixel sampling with PDF.js text-layer checks.
- Thresholds: Tunable sensitivity threshold with page preview before deletion.
Scale or pad document pages to standard international paper sizes.
- Sizes: A4, US Letter, A3, Legal, Executive, and custom dimensions.
- Fitting: Proportional scaling with letterboxing or boundary canvas padding.
Fill interactive AcroForm fields directly in your browser.
- Field Support: Text inputs, checkboxes, radio button groups, and dropdown selectors.
- Export: Save filled forms with preserved interactive fields for downstream submission.
Detect and purge duplicate pages within multi-scan files.
- Detection: Text checksum hashing combined with structural layout fingerprints.
- Review: Side-by-side comparison before confirming removal.
Build structured outlines and table-of-contents navigation for PDF readers.
- Hierarchy: Multi-level parent/child bookmark nesting.
- Destinations: Direct page jumps with custom view offsets.
Transform images into beautifully formatted PDF documents.
- Formats: Full support for PNG, JPG, and JPEG.
- Layouts: Standard A4, US Letter, or Fit to Image.
- Controls: Margin sliders and auto/portrait/landscape orientation detection.
Convert PDF pages into crisp raster images.
- Formats: High-resolution JPG and lossless PNG.
- Packaging: Download individual images or all pages in a single ZIP archive.
Extract all embedded photos and raster figures from PDF streams.
- Lossless: Recovers raw embedded image streams without recompression artifacts.
- ZIP Export: Packages all extracted visual assets with original resolutions.
Optimize PDF structures without cloud compromises.
- Techniques: Structural linearization (Fast Web View), object stream consolidation, and unused object pruning via QPDF WASM.
- Honest Reporting: Transparently compares original vs. optimized size; notifies you if a document is already optimal.
Bake interactive form fields, comments, and annotations into permanent content.
- Vector & Image Modes: Flatten AcroForms into native page vectors or convert to flattened raster pages to prevent subsequent tampering.
Audit document security and erase sensitive tracking data.
- Deep Audit: Inspect PDF versions, page counts, title, author, producer, creation/modification dates, and catalog dictionaries.
- One-Click Sanitizer: Strips all identifying metadata attributes and embedded XMP tracking packets.
Extract selectable text into clean UTF-8 text files.
- Preservation: Retains layout flow, linebreaks, and reading order.
- Export: Instant copy-to-clipboard or
.txtfile download.
Search and replace names, enrollment numbers, dates, and text strings across pages.
- Multi-Rule: Run multiple replacement rules simultaneously.
- Layout Safety: Visual masking with bounding-box collision detection and warnings.
Discover and export all clickable hyperlinks and internal destinations.
- Audit: Extracts external web URLs, mailto links, and internal cross-references.
- Export: Clean list view with destination page numbers.
Side-by-side comparison of two documents.
- Modes: Visual pixel-difference overlay and extracted text diff side-by-side.
- Navigation: Synchronized scrolling across documents.
[ OwnPDF Client Environment ]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β User Device (RAM) β
β βββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββ β
β β React 19 UI Thread β β Dedicated Web Worker β β
β β β’ Sky-Blue Theme β β ββββββββββββββββββββββββββββββββββ β β
β β β’ Local Fonts β Transferβ β QPDF WebAssembly β β β
β β β’ PDF.js Previews βββββββββββΌββΊβ β’ Decryption (AES-256) β β β
β β β’ Session Storage β Array β β β’ Encryption (AES-256) β β β
β β β’ Download Manager β Buffer β β β’ Virtual MemFS Sandbox β β β
β β βββββββββββββ²ββββββββ β ββββββββββββββββββ¬ββββββββββββββββ β β
β β β β Output Stream β β
β β Blob Stream β βΌ β β
β βββββββββββββ΄ββββββββββββ β ββββββββββββββββββββββββββββββββββ β β
β β File System Access βββββββββββΌβββ€ Clean TypedArray View β β β
β β β’ showSaveFilePicker β β β β’ %PDF- signature verified β β β
β β β’ Anchor Fallback β β ββββββββββββββββββββββββββββββββββ β β
β βββββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββββ β
β β
ββββββββββββββββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββββββββββ
β
No Network Calls (CSP: self)
βΌ
[ π External Internet: 0 Bytes ]
- Best-Effort Memory Hygiene: Document data and passwords exist solely in ephemeral memory during the active session.
- Instant "Clear Session": The persistent Clear Session button purges all active document buffers, revokes all created
blob:URLs, and terminates active Web Workers immediately. - Download Safety: Uses the native File System Access API (
showSaveFilePicker) when supported, allowing direct-to-disk streaming and preventing browser UUID filename fallback bugs. Cleanly cancels on userAbortErrorwithout duplicate downloads. - Complete Network Isolation: Strict automated assertions verify that all 26 processing tools produce zero outbound network requests (0 bytes exfiltrated).
| Layer | Technology | Purpose |
|---|---|---|
| Framework | React 19 + TypeScript | Strict-mode frontend runtime |
| Bundler & Dev | Vite 6 | Sub-second HMR and production bundle optimization |
| Styling | Tailwind CSS v4 | Custom sky-blue design tokens & dark mode |
| Core PDF Engine | QPDF WASM | Cryptographic decryption, encryption, and linearization |
| Transforms | pdf-lib | In-memory page manipulation, merges, splits, and metadata |
| Canvas Previews | Mozilla PDF.js | Fast, on-device vector thumbnail rendering |
| Multi-File Archiving | JSZip | In-memory ZIP packaging for split documents and image exports |
| Typography | Fontsource | Locally bundled Manrope (headings) & Inter (body) |
| Icons | Lucide React | Crisp, modern UI icons |
| Testing | Vitest | Unit tests, crypto benchmarks, and network isolation assertions |
- Node.js:
v20.xorv22.x+ recommended - npm:
v10.x+
git clone https://github.com/Titanium-xd/OwnPDF.git
cd OwnPDF
npm installnpm run devOpen http://localhost:5173 in your browser.
npm run build
npm run previewThe optimized static bundle will be generated in dist/.
OwnPDF includes a comprehensive Vitest test suite with 123 tests across 29 test suites covering cryptographic operations, layout preservation, filename sanitization, sub-slice typed-array bounds, route generation, and privacy boundaries:
# Run all unit, crypto, and privacy tests
npm test- β
Decryption & PDF.js Verification: Tests that AES-256 encrypted documents cannot be opened without a password, decrypts via QPDF WASM, validates the
%PDF-signature, and verifies password-free rendering in PDF.js. - β Download Buffer Isolation: Tests that TypedArray sub-slices with non-zero offsets are cleanly copied so external ArrayBuffer padding is never leaked.
- β
Filename Sanitization: Tests path-traversal prevention, special character filtering, case-insensitive
.pdfextension handling, and deduplication of suffixes. - β
File System Access API Cancellation: Tests that canceling
showSaveFilePicker()(AbortError) terminates cleanly without fallback anchor clicks. - β 26-Tool Network Isolation: Verifies zero outgoing fetch/XHR calls occur during local document processing across all 26 registered tools.
- β SEO & Pre-Rendering: Validates physical HTML pre-rendering, unique titles, descriptions, canonical URLs, and schema markup across all 27 production routes.
OwnPDF is 100% static and can be deployed anywhere with zero server configuration.
A pre-configured vercel.json is included with security headers and WASM MIME types:
npx vercelDeploy the dist/ folder directly to any static web host.
OwnPDF is open-source software licensed under the MIT License.
- QPDF WASM: Artistic License 2.0 / ISC
- pdf-lib: MIT License
- Mozilla PDF.js: Apache License 2.0
- Lucide Icons: ISC License