Skip to content

thermal-label/labelmanager

Repository files navigation

@thermal-label/labelmanager

TypeScript-first DYMO D1 LabelManager driver — Node USB and browser WebUSB.

CI codecov npm core npm node npm web License: MIT

Install

pnpm add @thermal-label/labelmanager-node    # Node USB
pnpm add @thermal-label/labelmanager-web     # Browser WebUSB

For ad-hoc printing from the terminal, install thermal-label-cli — it auto-detects every installed driver, no per-driver CLI needed.

Quick example (Node)

import { discovery } from '@thermal-label/labelmanager-node';
import { TAPE_12MM } from '@thermal-label/labelmanager-core';

const printer = await discovery.openPrinter();
try {
  // image is RawImageData — { width, height, data } where data is RGBA bytes.
  await printer.print(image, TAPE_12MM);
} finally {
  await printer.close();
}

Quick example (Browser)

import { requestPrinter } from '@thermal-label/labelmanager-web';
import { TAPE_12MM } from '@thermal-label/labelmanager-core';

const printer = await requestPrinter(); // call from a user gesture
try {
  await printer.print(image, TAPE_12MM);
} finally {
  await printer.close();
}

Supported hardware

8 devices — 1 verified · 0 partial · 1 broken · 6 untested

Model Key USB PID Transports Status
LabelManager 280 LM_280 0x1006 USB ⏳ untested
LabelManager 400 LM_400 0x0013 USB ⏳ untested
LabelManager 420P LM_420P 0x1004 USB ⏳ untested
LabelManager PC LM_PC 0x0011 USB ⏳ untested
LabelManager PnP LM_PNP 0x1002 USB ✅ verified
LabelManager Wireless PnP LM_WIRELESS_PNP 0x1008 USB ⏳ untested
LabelPoint 350 LABELPOINT_350 0x0015 USB ⏳ untested
MobileLabeler MOBILE_LABELER 0x1009 USB ❌ broken

Click any model to open its detail page on the docs site, where engines, supported media, and verification reports live. The same data backs the interactive cross-driver table.

Documentation

Full docs at https://thermal-label.github.io/labelmanager/.

Packages

Package Role
@thermal-label/labelmanager-core Protocol encoding, device + media registries. Browser + Node.
@thermal-label/labelmanager-node Node USB transport.
@thermal-label/labelmanager-web Browser WebUSB transport.

The per-driver *-cli package was retired — use the unified thermal-label-cli instead.

Compatibility

Node ≥ 20.9 (Node 24 LTS recommended)
Browsers Chrome / Edge 89+, secure context (https:// or localhost)
Linux typically needs a udev rule for 0922:*; usb_modeswitch may be required for first-run config
Devices DYMO LabelManager (D1 tape) — see hardware list
Peers @thermal-label/contracts, @thermal-label/transport, @mbtech-nl/bitmap
License MIT

Not affiliated with DYMO. Trademarks belong to their owners.

Contributing

See CONTRIBUTING/ on the org .github repo.

About

TypeScript-first DYMO LabelManager D1 tape label printer driver suite — Node.js USB, browser WebUSB, and CLI.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors