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.
1. Design and save
Section titled “1. Design and save”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.
2. Find its id
Section titled “2. Find its id”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" } ]}3. Print it with data
Section titled “3. Print it with data”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 9100A 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.
What converts, and what doesn’t
Section titled “What converts, and what doesn’t”The design is translated into native printer commands:
| Editor element | Prints as |
|---|---|
| Text and text boxes | ^A0 scalable text, wrapped with ^FB |
| Barcodes | Native symbology commands (^BC, ^BE, ^BX…) |
| QR codes | ^BQ |
| Rectangles, lines, tables | ^GB boxes and rules |
| Images and photos | Skipped — 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.
Check the conversion
Section titled “Check the conversion”To see exactly how a design maps before printing:
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.