Open core · AGPL-3.0 · EU-hosted cloud

openlabelengine.

Open-core label design & print automation.
Built to replace NiceLabel & BarTender.

The preview is not an approximation — it comes from the same renderer that drives your printers.

TL;DR: OpenLabelEngine is open-core software for designing, automating, and reliably printing industrial labels with ZPL, GS1/SSCC serialization, and offline-capable runners.

Preview = Print Runner: outbound-only, offline-capable Zero duplicate prints Honest NiceLabel migration
Print Center with live ZPL preview

The Print Center: label picker, variable form, live ZPL preview at 203 dpi. What you see is what prints.

Printer compatibility

Keep your printers. Keep your Windows drivers.

OpenLabelEngine speaks ZPL natively — which means it works with every thermal printer you already own. And with Windows GDI printing, your office printers work too. No driver installation on print servers.

Zebra TSC Honeywell SATO Cab Toshiba TEC Brother Any ZPL printer Windows GDI (office printers)

ZPL · TSPL/TPCL and EPL on the v1.x roadmap · PDF export built-in

Why OpenLabelEngine

Honest by architecture, not by marketing.

Live preview from the real renderer

The browser shows the server-side ZPL raster — the exact dots your thermal printer will burn. Not a CSS approximation. Preview = Print.

See the designer →

Runners that survive disconnection

Outbound-only connections (zero firewall holes), printing continues offline, catch-up without duplicates when the link returns.

How runners work →

Migration you can audit

NiceLabel .misx / .nlbl import with a per-object report: carried over or annotated. Never silently changed.

Read the migration path →
Designer canvas with object tree and dot preview

The Designer: registry-generated properties panel, Dot-Preview toggle at 203/300/600 dpi, linter catching GS1 violations in real time.

Product areas

Seven areas, one system.

Designer

Browser-based label designer with server-side ZPL raster preview.

Automation

Flow graph instead of action list. DB-Poll, Files, HTTP, Schedule, Webhook triggers.

Runner

Edge agent: outbound-only, offline-first, zero duplicate prints.

Print Center

Operator forms, scan-to-field, CSV batch printing, audit archive.

Serialization

GS1/SSCC counters, check digits, gapless allocation.

Migration

NiceLabel import with per-object report. Never silently changed.

AI

Lint explanation + log Q&A today; copilots on the roadmap.

Coming from NiceLabel or Loftware?

We import .misx and .nlbl files with a per-object report showing exactly what was carried over and what was annotated. No silent changes, no surprises after go-live. BarTender .btw support is on the v1.x roadmap.

See migration path
Open Source

Your labels, your infrastructure, your code.

The core is AGPL-3.0: self-host freely, inspect everything. Enterprise modules are clearly named — no license fog.

Why open core? GitHub ↗
Cloud

Managed instance, real isolation.

One dedicated instance per customer — not multi-tenant rows. EU hosting, DPA included, unlimited runners.

Private Beta

Rolling invites.

One line, 2–3 printers, MSSQL, parallel operation. Free during beta against feedback.

Control Center designer · flows · archive preview = print jobs → outbound TLS :443 ← confirmations · lease renew Runner “werk-wien” outbound-only · CGO-free static binary online print queue · draining Runner “werk-linz” offline local buffer · printing continues ↻ reconnect: check job_id vs archive → 0 dupes catch-up · zero duplicates

Control Center ↔ Runner — outbound-only, offline-resilient, zero duplicates. Details on the Runner-Seite.

For decision makers

The questions that matter.

Who operates it?

You do (self-hosted, SQLite, one admin) — or we do (managed cloud instance per customer, EU-hosted). No third-party dependency either way.

What happens if the Center goes down?

Your plant keeps printing. Runners buffer locally and catch up without duplicates on reconnect. The Center is needed for design and monitoring — not for printing.

How long does a migration take?

Measured: 7 min 21 s from empty directory to connected runner. Import of existing NiceLabel designs with a per-object report. Typical pilot: one line, 2–3 printers, parallel operation.