Show HN: I built a free alternative to Adobe Acrobat PDF viewer (github.com)

357 points by bobsingor ↗ HN
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!

33 comments

[ 5.3 ms ] story [ 54.2 ms ] thread
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++.

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.

The repo appears to contain a copy of Foxit’s/Google’s pdfium along with a UI and lots of abstraction layers/examples for various JavaScript frameworks.

I’m not a JavaScript developer (perhaps there are cultural differences at play?), but in general I think it would be polite to credit the developers of the actual PDF engine.

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?
Gave it a quick try. Annotations didn't work at all in Fierfox, but all annotation types (underline, highlight, etc.) worked as expected in Chrome.
MIT license is generous. Good for you, and thanks!
Thank you for sharing and being so generous with the licensing. I know this might be way out of scope, but do you have any plans for a "flipbook" visualization?
Very nice! Thanks for sharing. How long are you working on that ?
The mobile site works well. Quite fast and snappy
the best solution is simply to not use PDF.
Nitpick, but Viewer is free and always has been. You're building a free alternative to Acrobat.
Looks great! Diving into the docs I especially liked the idea of a headless React library so I can design my own UI and add some extra components. How difficult would it be to automatically highlight or underline certain terms in the PDF and then render a custom component when I click or hover over the term?
This is amazing. Unlike Acrobat Reader, this actually made me want to read a pdf. And the UI looks super professional.
Great project.

Would be wonderful to have PKCS#11 and PKCS#12.

This is really great. The speed is great, and I've had issues with Mozilla PDF viewer recently. (Printing fails for some unknown reason.)

But I assumed it was also a standalone app? Could this be used as a standalone app in some fashion?

Is selecting text in the PDF supported? I can’t get that to work in iOS Safari.
Text selection broken on Mac OS Safari as well. Worked in Chrome on Mac OS.
We use pdf.js, a bunch of problems I encountered when testing and comparing (17 MB, 158 pages, many images, Windows):

* Links don’t work

* Bookmarks show up but don’t work either

* Text selection doesn’t work in FF

* Middle-clicking (to scroll) in Chrome triggers text selection

* Very slow rendering, when I scroll in pdf.js, everything looks fine. When I scroll in this, everything looks low quality and blurry for ~500-1000ms. Worse for jumping multiple pages at once, e.g. using "end", I get a white page instead of a low quality page.

* Up/Down, Page Up/Down, Home/End don’t work in FF (left/right does work)

Requiring a whatng cartel web engine? Then, nothing to be proud of, mate.

But that's a bravery to deal with the brain damaged PDF file format.

This looks really impressive! I'm curious about the monetization strategy - how do you plan to sustain development of such a feature-rich PDF viewer while keeping it free? Are you considering enterprise features, hosting services, or other revenue streams?
Unfortunately, the Demo doesn't seem to work with my combination of Linux + Firefox. I cannot get any of the annotation/redaction tools to work.

It seems to work with Chromium on the same machine.

Note that actual hard work here seems is done by PDFium, which is what Google bought from Foxit and then relicenced (and keep developing themselves), and which is now in Chrome.

(I don't take from your work btw, just that it's not a new PDF parser written from scratch or anything.)