Add text, input boxes, pictures, signatures, delete pages, merge PDFs and password protect them. All happening in the browser, 100% free and no sign-up.
Any chance to open source this and allow us to host it privately?
Fantastic work btw.
Nice work. I've been building something lately to manipulate PDFs in the browser for privacy, although it's quite a different use case.
I think I see you're using pdf-lib and jspdf - both great libraries, and I'm using both, but:
(1) Have you seen the recent WASM compilation of MuPDF? I am also using it for some functions and find it really excellent with accessible APIs and highly functional. Worth an try!
(2) We chose different forks of the (unmaintained) pdf-lib - is there a reason you went with `pdf-lib-plus-encrypt`? I chose the cantoo fork, which seemed well-maintained to me - but I didn't research many others so would be interested to know if there is a good reason.
My wife hit a wall trying to upload a hefty PDF - every “shrink” tool we tried barely compressed the size, and some even made it larger! Frustrated by the state of PDF compressors (looking at you, Adobe), I turned to LLMs - Claude, Deepseek, and Gemini came up short, but OpenAI’s o4-mini saved the day with a perfect solution. That inspired me to build pdfmini: a tiny, open‑source, client‑side HTML app that crushes PDF sizes right in your browser!!! No installs, no fees, zero privacy worries - all your data stays on your machine.
Try pdfmini now:
https://den-run-ai.github.io/pdfmini/
Source code for pdfmini:
Please don’t use the adjective “free” when describing proprietary software. We know you mean “free as in beer” but those outside our community may not and it may cause confusion over the meaning of free software.
I use stirling-pdf for this, ran locally with
docker run -d -p 8080:8080 -e DOCKER_ENABLE_SECURITY=false --name stirling-pdf frooodle/s-pdf:latest
Lots of features, OP you should definitely check this out
I created a similar offline tool during covid because I didn't want to upload sensitive data to random servers, it's open source if that can be useful to someone else : https://timothebarbe.github.io/pdfModer (Im not a front end dev, the UI is not very good)
Nice! I will give it a try later today.
For people who want a non web-based alternative, these days I use Xournal++ (https://xournalpp.github.io/) to do that type of edition locally.
What I am still looking for is a good way to clean scanned PDFs: split double pages, clean up text and make sure it is in lack and white, clean deformations and margin, cut and maybe rotate pages, compress the end result.
Cool! I would have expected a ton of things like this, but there really aren't.
If it's free, though, who pays for your hosting?
Doesn't seem to be working ATM:
Console. Chrome based browser. Uncaught (in promise) wc: Input document to `PDFDocument.load` is encrypted. You can use `PDFDocument.load(..., { ignoreEncryption: true })` if you wish to load the document anyways.
Scrolling is broken. Also for modals, it'd be nice to be able to click anywhere on the screen to close it (or pressing Esc) rather than just pressing "cancel".
Also for text, different fonts is a necessary requirement (and bolding, italics, underline, etc).
Also, it seems like I can't edit text boxes after creating them... I can't even tell if I've selected the text box (an outline would be nice).
Also the confirm modal for deleting a page is realllly annoying. You should just have it automatically delete the page and create an undo feature. (Basically store the original PDF, and store all the "actions" a user makes in an array, and then undo/redo the actions to the original pdf).
Also the arrow to close the page overview on the left side of the screen is very unintuitive. Why does the entire page shift to the left? The only reason I'd use that feature is to see my centered page more clearly. On this topic, a zoom feature is super important too.
Overall, the concept of a privacy-based PDF editor sounds really cool! Just note that for users to actually make a serious switch to this, you must at least match 1/4 of the quality of other PDF services like ilovepdf.com or smallpdf.com.
Good luck!
Wonderful! Inserted form-fields show up in Preview and Acrobat, which is not a trivial task. I run a little AI-powered tool that automatically figures out where form fields should go (https://detect.penpusher.app) and robustly adding form fields to the PDF was the hardest part.
Fwiw, I do see the issue with being unable to scroll down across both Safari and Chrome.
Why there aren't any PDF editors that support editing the actual PDF instead of adding on top of the PDF?
Are you planning to open source or make a product? We're working with headless content solutions, and despite our best efforts to digitise everything - people on the floor still need physical copies of things.
Hooking up a good PDF editor for output is hard, but this is a nice solution.
This is really nice! Kudos.
Small request: When I have a document open, ask to prevent accidentally closing the tab.
Large request: Resizing pictures and signatures.
Is this open source? I think the world could use a good free and open 'utility' app for PDFs. Its hard to do digital business these days without even moderate features needed in PDF editing without paying Adobe or non-free online services - JUST TO EDIT A DOCUMENT.
Some suggestions:
Pen input (Apple Pencil) is quite choppy, because browsers tend to coalesce multiple pen events together, effectively reducing the pen's polling rate. You need to use PointerEvent.getCoalescedEvents: https://developer.mozilla.org/en-US/docs/Web/API/PointerEven.... Pen pressure support would also make signatures look a lot better.
Would also be nice to be able to draw anywhere you want. Right now I'm using Xournal++ for pdf annotation but its performance is lacking and I'm always looking for alternatives.
Seems broken to me. Uploaded a pdf but I cant scroll down to see the bottom of the pdf, its just stuck... tried with FF and safari, same deal.
Add a text block - it adds a block that wraps (it's a bit narrow, would like to change its size).
When downloading the PDF, the text block is not wrapped, so it doesn't match the way it looks in the editor. Tested in Firefox (but it's the same in Chromium).
Nice work on the interface and the offline & local way it works is very welcome!
Really neat. i tried a couple and it worked fine for my use case which is mainly adding a signature .. Any chance the signature size can be adjusted by dragging a corner ?
I like it! It has most of the features I need in a PDF doc and nothing of the bloat. The only features missing for me are: callout text comments, redact text, and flatten PDF. It's snappy and pretty easy to understand. Good job
As much as I'd like it, we all know it can't remain "100% free and no sign-up". What's your plan to avoid enshitification?
Nice! Recently I had the need for pdf censoring, aka not adding black rectangles but actually removing the content underneath and I still haven't found a suitable tool. Any recommendation? Or even python library to do it?
So many smart people out there developing brilliant PDF tools—it's truly impressive! And yet... we still have billions of XFA-based form PDFs lurking in the shadows. Forgotten. Unopened. Untouched. Why? Because almost no tool can handle them.
Where is the hero who will rise to the challenge? The one who will finally rescue thousands of office and admin workers from the endless misery of XFA hell—a nightmare Adobe created and then abandoned in a pit of form chaos years ago.
Seriously, we need you. The world needs you. Be the one who ends the suffering. Be the legend.
I've been using a tangential but still pdf tool, pdfux.com since it was posted here on hn
Thanks for this! I'll definitely add it to my bookmarks
very nice !
Is anyone building 'Cursor for editing PDFs on the web'?
Very nice, thank you !
What reason do I have to believe this will still exist in 3 months when I need it next?
Inkscape!
A voice in the wilderness, but weren't PDFs originally meant to be read-only? Yes, nearly everyone now has a PDF editor, but this seems to undermine the original intent behind the format. As things stand, we may need to invent a portable document format that remains read-only, that fills the purpose PDF was meant to fill.
You'd think at this point there would be a dozen solid competitors to Adobe Acrobat. You'd really fuckin think so.
And yet filling out a pdf and signing it with a certificate (aka the bog standard procedure for much of modern bureaucracy) is still too much to ask for any pdf software on linux. It just doesn't exist. How?
Why would you want functionality like this to be in a browser?
Isn't a browser for interfacing to http?
I tossed a legal document at it which was recently of passing interest to me, and it looks like embedded fonts still need some work. I'm not inclined to share a test case from what I have, which relates to a change of name and in any case was not really prepared by anyone especially competent when it comes to PDFs and their content; I tested with the first, facially void, version I was given. But it is possible I'll find more use for this tool, and if a shareable test case does come along then I'll do so. (And heaven knows with this document format, embedded fonts are a total nightmare always, even somehow in programmatic authoring. I'm not criticizing!)
On a similar note, a downloadable (single-file HTML or so, although these days some kind of HTTP service is a practical necessity) version would be nice to have. Low pri even from my perspective; it isn't that I spend a lot of time in places with no cell signal, so much as just that tethering on an a la carte plan gets out of hand pretty quick, since applications aren't at all required to honor or even notice the existence of the "data saver" option.
This is really neat! Thanks for posting it, I've bookmarked it for later use in the "just need a quick tweak" kind of case. I'll look forward to seeing how it develops!