explaingit

alam00000/bentopdf

13,251JavaScriptAudience · generalComplexity · 2/5LicenseSetup · easy

TLDR

BentoPDF is a privacy-first PDF toolkit that runs entirely in your browser so your files never leave your device, it lets you merge, split, reorder, edit, convert, and secure PDF documents without uploading them anywhere.

Mindmap

mindmap
  root((bentopdf))
    Privacy
      All local processing
      No file uploads
      Air-gap support
    Tools available
      Merge PDFs
      Split PDFs
      Reorder pages
      Convert formats
      Compress and secure
    Deployment
      Hosted version
      Docker self-host
      Netlify or Vercel
      Offline mode
    Licensing
      AGPL free tier
      79 dollar commercial
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Merge several PDF documents into one file without uploading them to an online service

USE CASE 2

Split a large PDF into smaller files by dragging pages into a new order in the browser

USE CASE 3

Self-host BentoPDF with Docker so your whole team can process confidential documents without any cloud dependency

USE CASE 4

Convert images or other documents into PDFs and compress them entirely inside the browser

Tech stack

JavaScriptWebAssemblyDocker

Getting it running

Difficulty · easy Time to first run · 5min

Commercial or proprietary use requires a $79 one-time license, some features load WASM modules from a CDN by default.

Free under AGPL-3.0 for open-source projects, a one-time $79 commercial license is required if you use it in closed-source or proprietary software.

In plain English

BentoPDF is a toolkit for working with PDF files that runs entirely inside your web browser. Its main selling point is privacy: according to the README, the files you open are never sent to a server, because all the editing and conversion happens locally on your own machine. This means you can merge, split, edit, and convert documents without uploading them anywhere. The project lists more than 50 tools grouped into categories. You can organize and manage PDFs by merging several files into one, splitting a document into smaller files, reordering or deleting pages with drag and drop, and extracting a range of pages as a new file. The README also describes tools for editing PDFs, converting other file types into PDF, converting PDF into other formats, and securing or compressing documents. BentoPDF can be run in several ways. You can use the hosted version, or self host it. The README covers running it with Docker Compose or Podman, deploying it to static hosts such as Netlify, Vercel, and GitHub Pages, and setting it up for air-gapped or offline use. Some of the heavier features rely on WASM modules, which are small programs that run in the browser, loaded from a public CDN by default, though you can point these at your own copies for offline setups. The code is dual licensed. The README states it is free under the AGPL-3.0 license for open-source use, while a one-time $79 commercial license is offered for closed-source or proprietary applications. It notes that some PDF processing libraries it connects to, such as PyMuPDF and Ghostscript, are themselves AGPL licensed and are pre-configured rather than bundled. In short, BentoPDF is aimed at people who want a free, self-hostable option for handling PDFs without handing their files to a third party. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Walk me through self-hosting BentoPDF with Docker Compose so my team can use it on our private server
Prompt 2
Help me configure BentoPDF to load its WASM modules from my own server instead of the public CDN, for offline use
Prompt 3
Show me how to set up BentoPDF on Netlify as a static site so users can process PDFs without any backend
Prompt 4
Explain what AGPL-3.0 means for BentoPDF so I know whether I need the $79 commercial license for my project
Open on GitHub → Explain another repo

← alam00000 on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.