Skip to content

designer-coreHeadless label design engine

Runs identically in Node.js 24 and all modern browsers — no DOM, no Vue/React, no UI dependencies.

Install

bash
pnpm add @burnmark-io/designer-core

Optionally install a printer driver:

bash
pnpm add @thermal-label/brother-ql-node

10-line quick start

ts
import { LabelDesigner, exportPng } from '@burnmark-io/designer-core';

const designer = new LabelDesigner({
  canvas: { widthDots: 696, heightDots: 0, dpi: 300 },
});

designer.add({
  type: 'text',
  x: 20,
  y: 20,
  width: 656,
  height: 60,
  rotation: 0,
  opacity: 1,
  locked: false,
  visible: true,
  color: '#000000',
  content: 'Hello, {{name}}!',
  fontFamily: 'Burnmark Sans',
  fontSize: 40,
  fontWeight: 'bold',
  fontStyle: 'normal',
  textAlign: 'left',
  verticalAlign: 'top',
  letterSpacing: 0,
  lineHeight: 1.2,
  invert: false,
  wrap: true,
  autoHeight: false,
});

const blob = await exportPng(designer.document, {
  variables: { name: 'Piet' },
});

Continue to Getting started for Node.js, CLI, and browser paths, or jump straight to the API reference.

Not affiliated with Dymo, Brother, Avery, or any hardware vendor.