Show HN: I built a free alternative to Adobe Acrobat PDF viewer

11 bobsingor 5 8/14/2025, 3:34:46 PM github.com ↗
I built EmbedPDF: an MIT-licensed, open-source PDF viewer that aims to match all of Adobe Acrobat’s paid features… for free.

Already working:

- Annotations (highlight, sticky notes, free text, ink)

- True redaction (content actually removed)

- Search, text selection, zoom, rotation

- Runs fully in the browser, no server needed

- Drop-in SDK for React, Vue, Preact, vanilla JS

Why? Acrobat is heavy, closed, and pricey. I wanted something lightweight, hackable, and embeddable anywhere.

Demo: https://app.embedpdf.com/ Website: https://www.embedpdf.com/ GitHub: https://github.com/embedpdf/embed-pdf-viewer

Feedback, bug reports, and feature requests welcome!

Comments (5)

looperhacks · 6m ago
I tried a random PDF that includes an annotation, but the annotation didn't show up. I assume the annotations this supports are no real annotations?
lucfranken · 24m ago
Seems to work great!

Little note: when you switch from redaction to view with the redaction tool (red lines) active it stays active in the view mode. Impossible to scroll because it still redacts.

Refresh fixes it.

billconan · 1h ago
Very nice! I once had a side project with a built-in PDF viewer. My first version used pdf.js, but when zooming in quickly, it felt sluggish and hard to keep the zoom focus in the right place.

So I built my own PDF viewer, this time using pdfium in C++ with Metal for rendering — here’s a quick demo: https://youtu.be/jJMhVn5yzEI

I implemented a tiling technique to balance memory usage and performance. I didn’t realize pdfium could be so performant in WebAssembly — and honestly, I actually prefer developing UI on the web compared to C++.

bobsingor · 56m ago
Honestly, yours looks even snappier than what I had, the way it’s handling zoom feels super fluid. Really impressive work! Makes me want to dig back in and see if I can match that speed.
lysace · 23m ago
Do I understand correctly - the repo contains a copy of Google’s pdfium.js along with a UI and lots of abstraction layers/examples for various JavaScript frameworks?

(Not a JavaScript developer.)