[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)