Dev.to WebDev 🛠 Dev 👁 1 📖 1 min read

I Built a Free PDF Tool That Runs 100% in Your Browser (No Uploads, No Servers)

The Problem Every time you upload a PDF to an online tool, you're trusting someone else with your data. Contracts, tax forms, personal docs — they all go to some server you don't control. I wanted a better way. So I b

The Problem

Every time you upload a PDF to an online tool, you're trusting someone else with your data. Contracts, tax forms, personal docs — they all go to some server you don't control.

I wanted a better way. So I built PDFCraft — a 100% browser-based PDF toolkit.

Nothing is uploaded. No sign-ups. No limits.

What It Does

  • Merge, split, compress, rotate, and crop PDFs
  • Convert JPG ↔ PDF
  • Add watermarks, page numbers, and passwords
  • Extract images and text (OCR powered by Tesseract.js)

All of it runs locally in your browser. Close the tab, and your data is gone.

The Tech Stack

Here's what I used to make it work:

Tool Purpose
React 19 + TypeScript UI and type safety
Vite 8 Build tool with HMR
Tailwind CSS v4 Styling
pdf-lib Create, edit, and extract PDF content
pdfjs-dist Render and parse PDFs
Tesseract.js OCR — text extraction from scanned PDFs

All PDF processing happens on the client side. No backend servers, no API keys, no data collection.

Key Challenges

1. Performance

Processing large PDFs in the browser can be slow. The solution? WebAssembly under the hood. pdf-lib and Tesseract.js leverage WASM for heavy lifting, making everything fast enough for real-world use.

2. File Size

Keeping the bundle small while supporting 10+ tools required careful code splitting. Each tool loads its dependencies only when you use it — so the initial load stays fast.

3. User Experience

Local processing shouldn't feel slow. I added progress indicators and processed files in chunks where possible. Users get instant feedback without wondering if the page froze.

Why I Open-Sourced It

The code is available on GitHub. I believe privacy tools should be transparent — you can inspect exactly what runs in your browser.

Try It

No sign-up, no payment, no server uploads. Just PDF tools that respect your privacy.

👉 https://pdf.aixiaot.com

Follow me @pirate_haizei for more open-source projects, React tips, and browser-first tools.

GitHub: https://github.com/haizeigh/pdf-tools

📰 Read the original article on Dev.to WebDev

Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.