One main computer runs the printing page, computers with printers share them, and everyone else prints from a browser or the PrintBridge virtual printer. No app to install on phones, no accounts. ☕ by @devnithdev.
| Print from any phone or browser | Pick a printer: maker, kind, colour |
|---|---|
![]() |
![]() |
| Live print queue | Printable wall QR sign |
![]() |
![]() |
| Simple role-based setup | Built-in status check |
![]() |
![]() |
- Zero-install mobile printing: Scan a QR code on the office wall and print directly from Safari, Chrome, or any mobile browser on iPhone, iPad, and Android. No apps or accounts needed.
- Google Cloud Print alternative: Keeps all printing local to your office Wi-Fi network. No cloud subscriptions, external accounts, or documents leaving your building.
- Cross-platform: Seamlessly connects Windows 10/11 and macOS (Apple Silicon & Intel) machines across the local network.
- Print from desktop apps: Includes a native PrintBridge virtual printer so you can print directly from Microsoft Office, Acrobat, or any software.
- Smart print preview & queue: Page-by-page visual preview, printer cards that show the maker, kind (inkjet, laser, dot matrix, receipt) and colour or black & white, and live queue tracking. A print goes only to the printer you chose.
- Optional back-up printer: Tick it and, if your printer is off or fails, the job moves to a printer of the same kind. Inkjet and laser stand in for each other only with a second tick; dot matrix and receipt printers only use their own kind. Off by default.
- Your language: A language picker on the printing page, with Sinhala and Tamil first and every other Google Translate language after them.
- A 3-minute video guide in English, Sinhala and Tamil: installing on Windows and Mac, printing from a phone, from the page and from Excel. A short video shows just printing from a phone, in English, Sinhala and Tamil.
- Self-healing: Resumes automatically after power cuts, automatically rediscovers network addresses, and checks for signed updates every hour, installing them only when nothing is printing.
Get the ready-to-run installer for Windows or Mac from the Download Page or Latest Release:
| File | For |
|---|---|
PrintBridgeSetup.exe |
Windows 10 and 11 (64-bit). If SmartScreen appears: More info → Run anyway. |
PrintBridge.pkg |
Macs (Apple Silicon and Intel). If macOS says it can't be opened: System Settings → Privacy & Security → Open Anyway. |
Install the main computer first, then the computers with printers, then the ones that only print.
| Folder / File | What it does |
|---|---|
Source code/server |
The printing website and queue (runs on the main computer) |
Source code/agent |
Printer sharing and print job execution |
Source code/desktop |
The single background program installed on every computer: supervisor, Check page, Mac setup wizard, automatic updates (lib/updater.js), and fixed IP setup (lib/fixip.js) |
Source code/installer |
Windows Setup installer (NSIS) |
Source code/installer-mac |
macOS .pkg and .dmg installer scripts |
Source code/relay |
Optional Cloudflare Worker drop page for remote printing ("Printing from anywhere") |
Source code/release/publish-update.js |
Key generation, version bumping, release signing, and publishing |
Source code/tests |
Automated test suites (t1-durable.js through t17-update-now.js) |
BUILD-ALL.command |
Builds both the Windows and Mac installers from start to finish on a Mac |
PUBLISH-UPDATE.command |
Signs the release manifest and publishes an automatic update |
Requires Node.js (v18 or newer):
cd "Source code/server" && npm install
cd "../agent" && npm install
cd "../tests"
node t1-durable.js
node t3-store.js
node t5-supervisor.js
node t10-updates.js
node t11-fixip.js
node t12-remote.js
node t13-upload-retry.js
node t14-preview-files.js
node t15-page-view.js
node t16-other-printer.js
node t17-update-now.js- Bump the version number (updates all package, server, agent, and installer files):
cd "Source code/release" && node publish-update.js bump X.Y.Z
- Build:
- On a Mac: run
./BUILD-ALL.command(requires Node.js,makensisvia Homebrew, Xcode Command Line Tools, and Rosetta on Apple Silicon). - On GitHub Actions: push a version tag (
git tag vX.Y.Z && git push --tags) or trigger Actions → Build installers → Run workflow, then download the installers from the run's Artifacts.
- On a Mac: run
- Publish an update:
- Run
./PUBLISH-UPDATE.command. It signslatest.jsonwith your private update key (*.pemis gitignored and never stored in the repository) and uploads the release to bothprintbridgeandprintbridge-updates. Installed computers verify the signature and SHA-256 fingerprint before installing.
- Run
Contributions are welcome, and no printer is needed for most of them. Start with a good first issue or help wanted, and see CONTRIBUTING.md for how to set up, test and send a change.
Released under the MIT License. Third-party components (SumatraPDF, PDF.js, QRCode.js) are included under their respective licenses in Source code/installer/ and Source code/server/public/vendor/.





