Skip to content

Client-side web tools

Web-based utility suites that do all their work in the browser via WebAssembly, so files are never uploaded. They replace the ad-heavy “free online PDF converter” sites, and because the server only ships static assets, they self-host on hardware that could never run the equivalent server-side pipeline.

Two consequences follow from moving processing into the browser:

  • Privacy — documents stay on the device. There is no server-side copy to leak, log, or retain.
  • Negligible hosting cost — the host serves static files and nothing else. Compute comes from whichever device opens the page. An XDA report runs both tools below on a Raspberry Pi Zero 2 W — 512 MB RAM, no SSD slot — alongside Vaultwarden and Tailscale for remote access.
  • BentoPDF — privacy-first PDF toolkit with 50+ tools across organize, edit, convert-to-PDF, convert-from-PDF, and secure/optimize; runs PyMuPDF, Ghostscript, CoherentPDF, LibreOffice and Tesseract.js as WASM modules, giving it Office conversion and multilingual OCR without a backend (GitHub)
  • OmniTools — general-purpose suite covering image, video and audio editing, PDF split/merge, text and list manipulation, date/time and math helpers, and JSON/CSV/XML handling; React + TypeScript, MIT licensed, ships as a 28 MB Docker image

Both are single-container deployments. OmniTools serves on port 8080; BentoPDF publishes two images — use the -simple variant for internal deployments, since the other bundles a marketing site intended for public SaaS hosting:

Terminal window
docker run -p 3000:8080 ghcr.io/alam00000/bentopdf-simple:latest

BentoPDF supports custom branding, selectively disabling tools, and hosting under a subdirectory.

OmniTools is MIT. BentoPDF is dual-licensed: AGPL-3.0, which requires publishing source for derivative works, or a paid commercial licence for proprietary use. The AGPL terms matter for the embedded WASM components too — PyMuPDF, Ghostscript and CoherentPDF are each AGPL-3.0.