[HN Gopher] Show HN: Free, in-browser PDF editor
___________________________________________________________________
Show HN: Free, in-browser PDF editor
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.
Author : philjohnson
Score : 225 points
Date : 2025-05-03 18:15 UTC (4 hours ago)
(HTM) web link (breezepdf.com)
(TXT) w3m dump (breezepdf.com)
| jdjdjdjdjd wrote:
| 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.
| philjohnson wrote:
| Fixed now!
| behnamoh wrote:
| doesn't "edit" PDF text, just adds more.
| philjohnson wrote:
| yes, that's why the description says "add text" not edit :)
|
| there aren't existing packages that can edit existing PDF text
| in the browser, but I'll do it myself sometime soon
| kwanbix wrote:
| The website says: Edit PDFs Freely & Privately, Right in Your
| Browser.
| wild_pointer wrote:
| That's the problem with all the pdf editors available out
| there. I guess adding stuff is much easier than editing
| existing stuff which you didn't add, and can be laid out in a
| gazillion ways, because PDF is a format for viewing and
| printing, not for editing.
|
| I had a period when I worked with lots of documents. I could
| only find one fairly decent PDF editor which deserves to be
| called that way. I could use it to open any PDF and delete an
| existing element, or change text in an existing field.
| Sometimes things behaved funny, for example a text field can
| have each letter in a separate block, but I assume the tool did
| what it could within reasonable effort. It worked fine for me
| overall.
| jbarrow wrote:
| Editing text in PDFs is _really_ hard compared to other
| document formats because most PDFs don't really encode the
| "physics" of the document. I.e. there isn't a notion of a
| "text block with word wrapping," it's more "glyphs inserted
| at location X with font Y."
|
| If the PDF hasn't been made accessible, you have to do a lot
| of inferencing based on the layout about how things are
| grouped and how they should flow if you want to be able to
| make meaningful edits. Not impossible (Acrobat does it), but
| very challenging.
|
| It's part of the legacy of PDF as a format for presentation
| and print jobs, rather than typesetting.
| benatkin wrote:
| It's still what a _PDF editor_ , as it says in the title,
| would do. With a quick Google I found one that I hadn't
| heard about before, and it let me edit some text and save
| it for free.
| TechDebtDevin wrote:
| Ask yourself, why would someone spend money on bandwidth
| for me to download something for free...
| philjohnson wrote:
| PDF editor is used as a broadly encompassing term. Yes,
| other tools can edit existing text, but they upload your
| PDF to their servers, so it's not private if that's
| something you care about.
|
| There isn't anything off the shelf that enables editing
| existing text in the browser, but it's something I'll
| build from scratch. So you'll be able to edit existing
| PDF text without compromising privacy.
| layer8 wrote:
| PDF is really not a format designed for editing, of text
| content in particular. It's only possible in limited
| circumstances.
| matsemann wrote:
| What I miss in free alternatives is the ability to redact. Not
| just by placing a black bar above, but such that the text also
| leaves the PDF. Shouldn't even need to reflow other text as
| mentioned in another comment, as things would otherwise stay
| the same.
| philjohnson wrote:
| check out pdfredactoronline.com I also built that. I had to
| make it separate for now as it's using MuPDF JS library which
| has APGL licensing, but I might add it in here if it seems I
| can add it while still complying.
| matsemann wrote:
| Will check it out, thanks!
| a1371 wrote:
| 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?
| philjohnson wrote:
| Thanks! Text comments, redaction and flattening are definitely
| features I'll add.
|
| One way it'll avoid enshitification is that I have no VCs or
| anything like that, it's just me. So I only answer to actual
| users.
|
| My hunch is that while PDF editing is something people commonly
| do, most people probably don't want to pay for it, at least for
| basic features. My plan is to add Google Adsense, but in a way
| that is non-obstructive/intrusive.
|
| Depending on feedback, I might add a paid plan for much more
| advanced features if there's demand. But all the features you
| mentioned that are missing, as well as all other basic
| features, will always remain free. Since all the editing
| happens in the browser, it's a win-win for privacy and lower
| resource utilization. I just have to render the webpage. It
| runs on a low cost VPS, so it costs me almost nothing to keep
| this software running. Given that, there's no current or future
| costs that would give any reason to remove free features.
| colesantiago wrote:
| > One way it'll avoid enshitification is that I have no VCs
| or anything like that, it's just me. So I only answer to
| actual users.
|
| > My plan is to add Google Adsense, but in a way that is non-
| obstructive/intrusive.
|
| Please do not do Google ads.
|
| Not only that this ruins the privacy of the users and further
| entrances Google's reach, but it further leads to
| enshitification which is what we don't want.
|
| Perhaps maybe a small tiny sponsor banner may be better.
| philjohnson wrote:
| Fair point. I added a contact email in the upper right for
| feedback and sponsorship. Let's see what happens
| moffkalast wrote:
| 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?
| cbracketdash wrote:
| I use LibreOffice Draw
| crazygringo wrote:
| Does that do a perfectly accurate import?
|
| Whenever I import PDF's into drawing programs, add something,
| and then export, something always seems to get messed up.
|
| Whether it's font glyphs, or font spacing, or something to do
| with layer ordering.
| JLook wrote:
| I use Scribus to edit PDfs https://scribus.net
| speerer wrote:
| Weird: Your link is broken for me, but typing in exactly the
| same text to the address bar resolves perfectly.
|
| Is it somehow filtering out referrals from this site?
| cess11 wrote:
| Looks like they have a cert for https://*.scribus.net, but
| not for https://scribus.net.
| sgc wrote:
| Their link redirected to www.scribus.net for me, perhaps
| somebody saw this and fixed the config?
| sgc wrote:
| The best I have found that does this is Master PDF Editor for
| Linux. Unfortunately not free or open source, but it is good.
|
| https://code-industry.net/masterpdfeditor-help/certificate-m...
| Propelloni wrote:
| Gnome's Papers and, of course, KDE's Okular sign PDF without a
| hassle. If you need to edit PDFs, too, MasterPDF [1] is a solid
| choice. Not quite PDF X-Change in power or Acrobat Pro in looks
| it is sufficient for daily tasks.
|
| The real obstacle to digitally signing is bad support for Linux
| by the card reader vendors, as usual.
|
| [1] https://code-industry.net/masterpdfeditor/
| layer8 wrote:
| For similar reasons that no fully compatible MS Word clone
| exists: very high complexity of the format, underspecified
| format details, and undocumented implementation algorithms.
| philjohnson wrote:
| Right now the signatures are digital ink, but I plan on adding
| signatures with certificates so it's more official.
| jbarrow wrote:
| 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.
| philjohnson wrote:
| Thanks! I fixed the scrolling issue
| cbracketdash wrote:
| 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!
| philjohnson wrote:
| Scrolling is now fixed! And just updated so that if you click
| outside modal it closes. Working on update now so you can edit
| text you've already added.
|
| Agree with you regarding fonts, bolding underlining etc. and
| having instant page deletion with undo/redo. Will definitely be
| adding soon.
|
| Fixed the arrow closing the preview pane so that the page stays
| centered.
|
| I plan on adding a lot more features so that it's on par with
| ilovepdf.com and smallpdf.com. The libraries I'm already using
| support many of the features they have, so it'll be easy to add
| them while keeping everything fully in the browser.
|
| Thanks for the feedback!
| nizarmah wrote:
| 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.
| philjohnson wrote:
| Thanks!
|
| Ask to prevent accidentally closing the tab is a great
| suggestion, I just added it!
|
| Resizing pictures and signatures is definitely something I'll
| add very soon.
| speerer wrote:
| 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.
| philjohnson wrote:
| (1) Yes, I am very familiar with the WASM compilation of MuPDF.
| It's got a lot of great features. I actually built another
| product pdfredactoronline.com that does redaction fully in the
| browser using the MuPDF WASM compilation. The reason I don't
| use it in BreezePDF is MuPDF has an APGL license which requires
| open-sourcing any code that uses their software. Which, I guess
| technically anything fully browser based is essentially open
| sourced :) so perhaps I could use it here.
|
| Since a lot of the basic functionality I've added so far is
| also covered by more permissible packages like the ones you
| mentioned, I've started out just using those. But thanks for
| bringing that up, I'll revisit using MuPDF for redaction and
| other features
|
| (2) I went with pdf-lib-plus-encrypt because the original pdf-
| lib doesn't have functionality for password-protecting PDFs,
| and since pdf-lib-plus-encrypt does, I used it so I could have
| that feature
| speerer wrote:
| Thanks for the insight. Yes, the AGPL isn't a problem for me
| - I didn't check your licence as I could just view source :)
| tbarbe wrote:
| 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)
| Labo333 wrote:
| 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?
| fortran77 wrote:
| Do you want the black rectangle and the content removed? There
| are "redaction" tools. https://smallpdf.com/redact-pdf
| andrecarini wrote:
| Honestly, your best bet for securely erasing data from a PDF is
| by adding the black bars, printing it and then scanning the
| print.
| mamonoleechi wrote:
| you can do it easily with Inkscape which supports the pdf
| format
| philjohnson wrote:
| I developed another tool pdfredactoronline.com that does this.
| Full redaction/removal of content, not just blacking out text.
| I didn't include it in this tool for now due to the APGL
| license of the library that enables the redaction, but since
| something fully in the browser is kinda open source already,
| I'll see if I can comply with the license while including it in
| BreezePDF
| johnea wrote:
| Why would you want functionality like this to be in a browser?
|
| Isn't a browser for interfacing to http?
| vntok wrote:
| This tool is hosted on a website, and you access that website
| like all other websites, using a browser interfacing with HTTP.
| layer8 wrote:
| The functionality isn't actually in the browser, it's in the
| files downloaded via HTTP.
| philjohnson wrote:
| It's accessible via a website so that you don't have to
| download anything, and everything running in your browser means
| the PDF never leaves your device, so it's 100% private.
| kzrdude wrote:
| 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!
| philjohnson wrote:
| Hm, mind describing more about how it wraps? Assuming you're
| referring to text you added? I haven't encountered that myself,
| but will definitely try and fix.
|
| And thanks!
| ghostly_s wrote:
| What reason do I have to believe this will still exist in 3
| months when I need it next?
| philjohnson wrote:
| There's no VC backing behind this, it's just me. And it's
| actually a win-win to have all the PDF editing happen in the
| browser. It both offloads resource usage to a local computer
| and makes it private. All I have to do is render the page and
| that's it. Given that, it costs me almost nothing to keep it
| running, so there's no reason to take it down.
| VisualByte wrote:
| Where is the repo? I do not trust the privacy...
| philjohnson wrote:
| I might post the repo, but if you don't trust it you can just
| open the Network inspection tab and you'll see that zero
| network requests are made when you edit a PDF
| VisualByte wrote:
| I do not trust the privacy here...
| maxloh wrote:
| You can monitor Network requests the application made with
| DevTools.
| nestorD wrote:
| 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.
| fiddlerwoaroof wrote:
| For splitting double pages, this is the best tool I've seen:
| https://github.com/mbaeuerle/Briss-2.0
|
| For the other issues, I haven't found any single good tool, but
| I've stitched together things like unpaper, ghostscript and
| deskew ( https://github.com/galfar/deskew ).
|
| Also, if you need OCR, hocr-tools and Google's Document AI ocr
| API have worked really well for me (I tried Gemini, but you run
| into issues with big documents).
| kevinlinxc wrote:
| 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
| theturtletalks wrote:
| Stirling is a life saver, they have a web UI too:
| https://stirlingpdf.io
| throwanem wrote:
| 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!
| wffurr wrote:
| Fonts on the web are super hard. There's hardly any useful
| browser APIs for the kind of typesetting you need for PDFs:
| itemization, character bounding boxes, font file sub setting,
| etc. To solve or properly, you need to include a lot of code,
| e.g. all of harfbuzz compiled to wasm.
| contact9879 wrote:
| 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
| TheJCDenton wrote:
| Very nice, thank you !
___________________________________________________________________
(page generated 2025-05-03 23:00 UTC)