A while back I got tired of using PDF tools that force you to upload your file to a server just to do something simple like merge two PDFs or compress a scanned document. So I built pdfcevir — a small toolkit where everything happens client-side, in the browser.
The problem
Most free PDF tools online work the same way: you upload your file, their server processes it, then you download the result. That's fine for most use cases, but it means:
- Your file (which might be a contract, an ID scan, a private document) sits on someone else's server, even briefly
- You're limited by their server's speed and uptime
- Many tools cap file size or usage unless you pay
The approach
pdfcevir does everything in the browser using pdf-lib and pdf.js. No file ever leaves your device. There's no backend processing the PDF — the JavaScript running in your tab does all the work.
Tech stack is intentionally minimal:
- Plain HTML/CSS/JS — no framework, no build step
-
pdf-libfor creating/modifying PDFs (merge, split, rotate, watermark, page numbers) -
pdf.jsfor rendering and extracting content (PDF to image, PDF to Word text extraction) -
heic2anyfor converting iPhone HEIC photos before turning them into PDFs - Hosted free on Vercel, works as a PWA (installable, works offline once loaded)
What it does
9 tools so far:
- Image (JPG/PNG/HEIC) → PDF
- PDF compression
- PDF → editable Word (.docx) text extraction
- Merge PDFs
- Split PDFs
- Rotate pages
- Add page numbers
- PDF → image
- Add watermark
What I learned
The trickiest part was PDF compression — since there's no server-side image processing library available, compression works by re-rendering pages as images at a lower quality and rebuilding the PDF. It's effective for scanned/image-heavy PDFs, but it does mean the text is no longer selectable afterward, which was an important tradeoff to communicate clearly in the UI rather than let people discover it after the fact.
Try it / feedback welcome
It's free, no account needed: https://pdfcevir.vercel.app
Source is on GitHub (MIT licensed): https://github.com/trixterx102-byte/pdfcevir
Would love feedback, especially on edge cases where a PDF breaks something, or ideas for what tool to add next.
Top comments (0)