Labels are the most repetitive print job there is: the same layout, a different name, address, product or code on every one. With Shareglint a label is an HTML template at the label's exact size, and each row of your data becomes a one-page vector PDF — sharp text at any printer resolution, the right page size for the label printer, one file per label in a ZIP. Shipping labels from your own shop, product and shelf labels, name labels for an event, sample labels for a lab.
Size: the page is the template
A PDF render is exactly one page, the template's width and height in CSS pixels at 96 pixels per inch, with no margins (PDF generation). To get a label size, multiply inches by 96, or millimetres by 96 / 25.4 — CSS defines 1 inch as 96 pixels (CSS Values and Units):
| Label | Inches / mm | Template size (px) |
|---|---|---|
| Shipping label | 4 × 6 in | 384 × 576 |
| Large shipping label | 100 × 150 mm | 378 × 567 |
| Address label | 4 × 2 in | 384 × 192 — too small, see below |
| Name badge | 4 × 3 in | 384 × 288 |
| A6 | 105 × 148 mm | 397 × 559 |
Limit: templates must be at least 200 pixels on each edge (divide by 96 for inches). Smaller labels — 2 × 1 inch product labels, 4 × 2 inch address labels, most jewellery and shelf-edge labels — cannot be a template on their own. For those, make a template the size of the full label sheet and lay the labels out on it yourself, or use label software.
A label per row
Save the template once (HTML and CSS at the label size, fields in {{ }}), then send the rows:
curl -X POST "https://shareglint.com/v1/batches" \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{
"template": "shipping-label-4x6",
"format": "pdf",
"csv_url": "https://example.com/exports/todays-orders.csv"
}'
The CSV has a column per field — name, address lines, order number, a barcode image URL — plus filename (the order number works) and id. Every row comes back as a PDF, and the ZIP holds them all, named by filename. Rows per batch by plan: Free 50, Starter 500, Pro 1,000, Scale 2,000, Business 5,000. For one label at a time — printing at the packing station as each order is packed — POST /v1/images?wait=true with "format": "pdf" returns the PDF in seconds.
Barcodes and QR codes
We lay codes out; we do not generate them. Make the code with a library — for barcodes, for example, bwip-js in JavaScript, which renders many barcode types including Code 128 and EAN-13 — upload the PNG or SVG, and pass its public URL to an image field. For QR codes, see QR code images.
Barcodes are less forgiving than text: scanners need sharp edges and a quiet zone. Generate the barcode image at a high resolution, keep it at its intended size in the template (do not stretch it), and test-scan a printed label before printing a batch. For carrier shipping labels, your carrier's API usually produces the label itself, with its own barcode rules; templates are better for your own labels around it — packing slips, return labels, product labels.
Print settings
- Print at 100 %, not "fit to page", or the label's size changes.
- Thermal label printers (4 × 6 in) can usually print the PDF as is when its page size matches the label stock; check the printer driver's page size.
- Colour: the PDF is RGB. Black text and barcodes print the same everywhere; for brand colours on professional print, ask your printer about conversion — we do not produce CMYK.
- Fonts are the families installed on our renderer, embedded in the PDF; you cannot upload a font file.
Use cases
- Shops: product labels, gift tags and packing slips at the label printer, one per order.
- Events: name labels and badge inserts from the registration list (event graphics).
- Warehouses and labs: shelf and sample labels with a code from your system — at sizes of at least 200 px per edge.
- Retail: shelf signs and price cards (
price-listand your own templates) for A6 or larger.
A packing-station setup
A common small-shop setup: when an order is marked as packed, the shop's system calls the API with the order's data and "format": "pdf", downloads the returned PDF and sends it to the label printer. The label arrives in seconds, from the same template every time. If a label has to be printed again, the same request returns the same PDF without using quota. For end-of-day batches — all of today's orders at once — the CSV batch above does the same and returns one ZIP for the printer queue.
Keep the template's fields close to the data you already have — order number, name, address lines, a code image — so the integration is a direct mapping, not a translation layer.
Cost
One render per PDF; repeats are free. Two hundred order labels a day is about 6,000 renders a month; compare that with the plans' monthly quotas (Starter: 2,000, Pro: 10,000). Fifty event name labels are 50 renders, once. The Free plan's 100 renders carry a watermark, which a label cannot have; Starter is $9 a month (pricing).
What it does not do
- No labels smaller than 200 pixels on an edge as a template of their own.
- No multi-label sheets: one label per PDF; imposing them on A4 or Letter sheets is a separate step.
- No barcode or QR generation, no CMYK output, no direct printing.
- No carrier integration: shipping labels with carrier barcodes come from the carrier's own API.
The event-badge template is a ready badge layout; copy it into your account and set its width and height to your label stock to start your own label.