I Built CrabPDF: a Privacy-First PDF Editor That Runs Locally in the Browser

Published: (April 27, 2026 at 01:11 PM EDT)
3 min read
Source: Dev.to

Source: Dev.to

Why I Built It

Do not think I built CrabPDF because the internet needs another PDF tool.
There are already many tools for merging PDFs, splitting pages, rotating documents, converting files—okay, fine.

The problem is that most of them stop being simple when you need something more serious: editing text inside a PDF, running OCR, compressing the document, applying real redaction… try to do this and you’ll see the limitations.

Privacy is often unclear. Many online PDF editors claim to be “secure” or “privacy‑friendly,” but they still require you to upload the document to a server. For some documents—personal information, legal contracts, financial papers, or work files—that is simply not acceptable.

I wanted something different: open the website, load a PDF locally, edit it in the browser, install it as a PWA, disconnect from the internet, and keep working offline. This became the core idea.


What Makes CrabPDF Different

Do not upload your file. This is the main point.

CrabPDF processes the PDF inside the browser. The core editing workflow does not require uploading the document to a backend server. This matters because PDFs often contain sensitive data—contracts, invoices, medical documents, identity documents, work files—that should not be casually uploaded to a random website.

With CrabPDF, your file stays on your machine. The browser loads the app, but the document itself is handled locally. Because it can be installed as a Progressive Web App, once cached you can open it and continue to work even without an active network connection.

For me, this is the real privacy angle: not just “we promise to delete your file later,” but your file never leaves your computer in the first place.


Why Browser‑Based PDF Editing Is Hard

Do not think PDF editing is simple. It isn’t.

When you see a paragraph in a PDF, internally it may not be stored as a paragraph at all. It can be a collection of positioned text fragments, each with its own coordinates, font references, transformations, and encoding details.

Therefore, the editor must handle:

  • Detecting text positions and mapping rendered text back to PDF objects
  • Managing embedded fonts and preserving layout
  • Dealing with scanned documents and supporting OCR
  • Handling PDFs produced by many different tools
  • Avoiding broken output files
  • Performing all of this efficiently inside the browser, where PDF processing can be heavy

Final Thoughts

I would not have built CrabPDF if I had quickly found a tool that did exactly what I needed. I wanted a PDF editor that runs locally in the browser, lets me edit real PDF text, supports OCR, compresses documents, performs true redaction, and works without forcing me to upload sensitive files or create an account. This combination was harder to find than I expected.

So I built it. Try it, use it, and send me feedback.

https://crabpdf.com

0 views
Back to Blog

Related posts

Read more »

This Free JS Docx Editor Impressed Me

Background Recently, I came across a very interesting JavaScript DOCX editor while searching for alternatives to replace OnlyOffice in one of our projects. Our...