Label Studio
- Label Studio
- Label Generation via the Chrome Extension
- Label Generation via the T3 API
- Supported Printers
- Customized Labels
- Custom Templates
- Metrc Data
- Next Steps
Label Studio¶
The T3 Label Studio can instantly generate high-quality, printable label PDFs prefilled with data from Metrc.
- Fully customizable layouts with support for images, tables, barcodes, and QR codes
- Compatible with all label sizes and printer types, including thermal, laser, inkjet, and direct-to-tag
- Automatically populated with data pulled directly from Metrc
- Built on a powerful templating language for complete control over design and content
Label Generation via the Chrome Extension¶
The T3 Chrome Extension offers a smooth interface to quickly generate and download label PDFs.
T3 Chrome Extension label generation interface
Label Generation via the T3 API¶
Labels can also be generated via the T3 API.
Supported Printers¶
The T3 label generator uses PDF files as its output format.
Printing PDF labels has been successfully tested on major printer brands and models, including:
- Zebra thermal printers
- Rollo thermal printers
- Dymo thermal printers
- Sato CL4NX Plus
Printing label PDFs may require some setup and configuration. See the page on printer configuration to learn more.
Customized Labels¶
Labels in T3 are fully user-configurable. Every label PDF is built from three pieces that you control independently:
- A template defines the physical medium: label dimensions, page size, margins, padding, and how labels are arranged on a page. See Label Templates.
- A layout defines what actually appears on each label — text, tables, images, barcodes, and QR codes — and how those elements are positioned within the printable area. See Label Layouts.
- A data list is the set of per-label values that are injected at render time (for example, a list of package tags).
Layouts are responsive to template dimensions, so you can design a layout once and reuse it across different label sizes. Layouts can be static (every label identical), dynamic (each label filled with different data), or a mix.
Custom Templates¶
The Label Studio includes preset templates for common label sizes (for example, 3x1 thermal labels and Avery 8160 sheets), but you can define your own template for any rectangular label medium.
A template specifies:
labelWidthIn/labelHeightIn— label dimensionspagesizeXIn/pagesizeYIn— page dimensionsnumColumns/numRows— how many labels are arranged on a pagepageMarginTopIn/pageMarginLeftIn— page marginsxGapIn/yGapIn— spacing between labelslabelPaddingXIn/labelPaddingYIn— inner padding around the printable area of each label
For thermal labels, the label size and page size are identical, with one row and one column. For label sheets (Avery, for example), a single page contains a grid of labels. T3 automatically splits long data lists across multiple pages.
Layouts inside a template support several element types, all of which can be combined to build a complete label:
| Element type | Use |
|---|---|
TEXT | A paragraph of text |
TABLE | An HTML-defined table of rows and columns |
IMAGE | A base64-encoded image (logos, warnings, product photos) |
CODE128_BARCODE | A Code 128 barcode (used for Metrc tags) |
CODE39_BARCODE | A Code 39 barcode |
QR_CODE | A QR code |
BOX | A rectangular border or background fill |
See Label Layouts for the full list of styling and positioning options.
Metrc Data¶
Labels can be populated with data pulled directly from Metrc. In the Label Studio's Label Data tab, select a data source:
- Load demo packages — a set of example packages for trying out layouts.
- Load data from CSV — upload a CSV to populate labels (see Retail ID for a worked example).
- Load from Metrc — pull live package, plant, or transfer data from Metrc (T3+ only).
Once loaded, any field on the Metrc object is available inside your value templates via Jinja. For example, a package label layout can reference:
{{ package.label }}— the Metrc tag{{ package.item.name }}— the item name{{ package.item.strainName }}— the strain{{ package.quantity }}/{{ package.unitOfMeasureName }}— quantity and unit{{ package.metadata.totalThc }}/{{ package.metadata.totalCbd }}— extracted lab results (when present)
T3 also exposes common built-in values under the t3.* namespace — state warning images, compliance disclosures, and Poison Control Center contact info — so you don't have to manage those yourself. See Built-In Data.
Next Steps¶
- Work through the T3 Labels Tutorial to build a label from scratch.
- Read up on Label Templates and Label Layouts.
- Learn how to print label PDFs reliably.
- Learn about other T3+ features
- Install the T3 Chrome Extension
- Start your free 30-day T3+ trial
