Skip to content

Printing saved designs

Writing label layouts as JSON is fine for simple tags, but for anything designed — logos, precise placement, fonts — it’s easier to lay the label out in the editor once and drive it from your server.

Build the label in the editor, putting {{placeholders}} wherever data changes:

  • Text: Ship to: {{name}}
  • A barcode’s value: {{sku}}

Then account menu → Save to cloud.

Terminal window
curl https://barcodestack.com/api/v1/designs \
-H "Authorization: Bearer bcs_live_…"
{
"count": 1,
"designs": [
{ "id": "d_9f2c…", "name": "Product tag", "presetId": "thermal-2x1",
"updatedAt": "2026-08-27T04:12:00.000Z" }
]
}
Terminal window
curl -X POST https://barcodestack.com/api/v1/designs/d_9f2c…/render \
-H "Authorization: Bearer bcs_live_…" \
-H "Content-Type: application/json" \
-d '{ "data": { "name": "Jane Doe", "sku": "ABC-001" } }' \
| nc PRINTER_IP 9100

A whole run in one call:

{ "rows": [{ "sku": "ABC-001" }, { "sku": "ABC-002" }] }

Add "copies": 3 to have the printer repeat each label three times without resending it.

The design is translated into native printer commands:

Editor elementPrints as
Text and text boxes^A0 scalable text, wrapped with ^FB
BarcodesNative symbology commands (^BC, ^BE, ^BX…)
QR codes^BQ
Rectangles, lines, tables^GB boxes and rules
Images and photosSkipped — reported in X-Conversion-Warnings

Barcode module widths are matched to the footprint the design gave them, so printed symbols come out close to the size you laid out.

For labels containing images, use the editor’s own ZPL export (which sends a bitmap of the whole label) or the PDF export instead.

To see exactly how a design maps before printing:

Terminal window
curl https://barcodestack.com/api/v1/designs/d_9f2c…/render \
-H "Authorization: Bearer bcs_live_…"

That returns the converted element list plus any warnings — handy when a label doesn’t come out as expected.