From the terminal, the same engine is available as the bindery-pdf package: npx bindery-pdf merge out.pdf a.pdf b.pdf --bookmarks does the job with a current Node.js and no system packages, and a Docker image runs the same command with a folder mounted at /work. Both use the identical code the website runs, copied into the package at build time, so the CLI and the browser cannot drift apart. The browser version installs as an app in Chrome or Chromium if you want it on the launcher and offline; Firefox uses it as a page. Originals are never modified either way.

How it works

  1. Open Bindery in Firefox or Chrome and drop the PDFs anywhere
  2. Arrange them on the board and click “Merge locally”
  3. Or run npx bindery-pdf merge out.pdf a.pdf b.pdf --bookmarks in a terminal

Questions people ask

Why use this instead of pdfunite or qpdf?

Those work well if they are installed and you know the flags. Bindery adds a visual board with page previews so the order is never a guess, writes an outline with a bookmark per source, needs nothing from the distribution’s repositories, and is the same engine whether you use the browser or the CLI.

Does the CLI need root or system packages?

No. npx bindery-pdf runs with a current Node.js in your user account; nothing is installed system-wide. The Docker image needs only Docker. Neither makes any network request while processing — the engine and the PDF library are bundled in the package.

Which browsers work on Linux?

Current Firefox, Chrome and Chromium. Installing Bindery as an app — for a launcher icon, offline use and saving straight into a chosen folder — is a Chrome and Chromium feature; in Firefox it runs as an ordinary page with every tool available.

Related

Choose a PDF workflow