Web pages to local printers · safe by default

Printing from web pages and business systems, handled directly and safely by PrintLink

Install PrintLink on the computer with your printers and authorize your web pages once: printing is direct, what you see is what prints, and print data stays local by default. LAN or public-internet access can be enabled when needed.

Current release v1.1.0Windows / macOS / Linux

Docs

From install to first print

Every step from installing PrintLink to printing from a web page — and every page copies to an AI assistant in one click.

All docs

Core capabilities

Why PrintLink

From the click in the browser to the paper in the tray, every step is deterministic and under your control — no browser print dialog.

What you see is what prints

The preview window shows the final print result; confirming does not re-render it.

Data stays local

PrintLink accepts local connections only by default; a new web page must be authorized by the user, and LAN or public-internet access needs an administrator’s explicit opt-in.

Respects your printers

Copies, duplex, paper and trays follow what the printer actually supports; unsupported options degrade with a clear warning, never garbled output.

Every mainstream format

PDF, images, Hiprint templates and code-built print documents — mixable in a single job, one parameter set.

Online designer

mm-precision canvas with data binding and live preview; export JSON and hand it to PrintLink, or start from the template center.

HTTP + WebSocket local service

Any web page, script or program can connect to the local service — not just browsers. Browser integration takes one script tag or the npm package.

Connectivity

Pick the connection that matches where your printers are

Local by default; when the printers live on another machine, an administrator explicitly enables a wider connection.

Default

Local printing

Your business system can live on the public internet: the page reaches PrintLink on the same PC over 127.0.0.1 — paper comes out locally, no port open.

Low · no network port open

Internet-hosted ERP / SaaS / intranet apps + local printing

Why this is the default
Explicit opt-in

LAN shared printing

Printers hang off one workstation; computers on the same subnet connect to an approved address. Source allow-list, site authorization and API permissions stay independent.

Medium · named subnet only

Shared printing in warehouses, stores and production lines

Workstation guide
Advanced

Remote over the network

Reached through a VPN or a reverse proxy; built-in TLS is not available yet, networking and certificates are the deployer’s job, and remote non-browser clients wait for a dedicated identity model.

High · needs VPN / proxy and central controls

Central print nodes, managed enterprise networks

Responsibilities & prerequisites

Where jobs start, how they connect, what they print

The three are independent: the same PDF can be submitted by an internet-hosted page on the local machine, or by a terminal across the LAN.

Where jobs start

  • Web pages (Web SDK)Supported
  • Local programs & automation scriptsProtocol-supported · see usage boundary
  • Remote business systems (non-browser)Not yet · pending a dedicated identity model and SDK
Local automation & protocol clients

How they connect

  • Local (127.0.0.1)Default
  • LAN (approved address + subnet allow-list)Explicit opt-in
  • Remote (VPN / reverse proxy)Advanced
Choose a deployment topology

What they print

  • PDF (integrity-checked)
  • Images (PNG / JPEG, fitted to paper)
  • PrintLink Document (code-built · data binding)
  • Hiprint templates (converted automatically)
Print workflows

Three steps

Install PrintLink, print your first page

A short snippet is all it takes — the default path never leaves the local machine.

  1. Install PrintLink

    Download the installer onto the computer with the printers; it accepts local connections only by default.

  2. Integrate the SDK

    One script tag or npm package; the user confirms authorization on first print.

  3. Your first print

    Build a document or upload a PDF, preview it, and it prints silently.

print.jsJavaScript
// 1. load: <script src="http://127.0.0.1:17888/sdk/printlink.js">
const client = new PrintLink.PrintLinkClient({
  appName: 'My ERP' });
await client.connect();
await client.ensureAuthorized();  // first run: user approves in the Agent
const asset = await client.uploadAsset(pdfBytes, 'application/pdf');
await client.printAndWait({ queueId,
  source: { type: 'pdf', asset } });
// silent print; preview() takes the same params
// Compose: build a PrintLink Document in code
const doc = PrintLink.createDocument({ size: 'A4' });
doc.text({ x: 15, y: 18, text: 'Picking list', fontSize: 16 });
doc.text({ x: 15, y: 32, bind: 'customer.name' });
doc.table({ bind: 'order.items' });
await client.printAndWait({
  queueId, source: { type: 'document', document: doc },
  data: order });
// `data` feeds the bound fields; preview() takes the same args

The quick start has the full copy-and-paste example and the three states to handle. Quick start →

Tools

Design templates, debug integrations

The designer, the template center and the Playground cover everything from template work to integration debugging.

Security & privacy

Print data stays on this computer by default

  • Pages must be authorized by the user before they can print
  • LAN / public-internet connections are explicit opt-ins with named addresses and sources
  • Logs and diagnostics never contain document bodies

Download

Download PrintLink

v1.1.0

Listens on 127.0.0.1 only by default; install it and your web pages can print safely. Install guide →

All platforms

Windows

Windows 10 / 11

64-bit.exe

15.0 MB

SHA-25678033f07587e3f957a56ee8f6ba8f4bdcb9a43cbff9f63e57ffffb27f333e340
ARM64.exe

14.5 MB

SHA-25655bba0c8b9c3ae8ab5439d59a5b143e9d784bd27476ea9112e607165278cd71c

macOS

Apple Silicon only · macOS 11+

Apple Silicon.dmg

18.0 MB

SHA-25621765d211ed35a4d866c2e1c6346dd2fccd0e7bb06c28d9b4d37b019de5bc8df

Linux

Debian / Ubuntu · portable AppImage

Debian / Ubuntu.deb

14.0 MB

SHA-256b2c9b9c6afa0c077393f162398d255926a02b566eac97b130b0952238596a16f
AppImage.appimage

21.0 MB

SHA-256dfe4af0ac49c7531a868ec0eddd475ddb43f60b3bccc5153ff23ddd5c59d3bf9