-
Notifications
You must be signed in to change notification settings - Fork 0
Label & Badge Sheets
Aurghyadip edited this page Aug 3, 2026
·
1 revision
The #mail-merge-labels(...) function renders grid layouts such as address sticker sheets, shipping labels, conference name badges, table place cards, and multi-up cards.
#mail-merge-labels(
data,
template,
preset: none,
columns: none,
rows: none,
width: none,
height: none,
column-gutter: none,
row-gutter: none,
page-margin: none,
paper: none,
cell-padding: none,
show-cut-lines: false,
fill: none,
filter: none,
sort-by: none,
reverse: false,
start: 1,
limit: none,
trim: true,
default-value: "",
on-empty: [No matching records found.]
)typst-mailmerge comes with pre-configured presets for popular Avery label sheets and standard paper grids. You can pass any preset directly to the preset: parameter:
#import "@preview/mailmerge:0.1.0": mail-merge-labels, presets
#mail-merge-labels(
"data/clients.csv",
preset: presets.avery-5160,
record => [ ... ]
)| Preset Name | Grid (Cols x Rows) | Cell Size | Paper Size | Description |
|---|---|---|---|---|
presets.avery-5160 |
3 x 10 (30 / sheet) | 2.625" x 1.0" | Letter | Standard Address Labels |
presets.avery-5161 |
2 x 10 (20 / sheet) | 4.0" x 1.0" | Letter | Address / File Labels |
presets.avery-5162 |
2 x 7 (14 / sheet) | 4.0" x 1.33" | Letter | Folder & Return Address Labels |
presets.avery-5163 |
2 x 5 (10 / sheet) | 4.0" x 2.0" | Letter | Shipping Labels |
presets.avery-5164 |
2 x 3 (6 / sheet) | 4.0" x 3.33" | Letter | Large Shipping Labels / Badges |
presets.avery-L7160 |
3 x 7 (21 / sheet) | 63.5mm x 38.1mm | A4 | Metric A4 Address Labels |
presets.avery-L7163 |
2 x 7 (14 / sheet) | 99.1mm x 38.1mm | A4 | Metric A4 Address Labels |
presets.a4-3x8 |
3 x 8 (24 / sheet) | 70mm x 36mm | A4 | Universal A4 Grid Labels |
presets.a4-2x7 |
2 x 7 (14 / sheet) | 105mm x 42.3mm | A4 | Universal A4 Grid Labels |
presets.badge-2x4 |
2 x 4 (8 / sheet) | 3.5" x 2.25" | Letter | Event Name Badges |
presets.card-2x2 |
2 x 2 (4 / sheet) | 3.75" x 4.5" | Letter | Table Place Cards / Large Badges |
You can override individual preset properties or define custom grid layouts manually:
#mail-merge-labels(
data,
columns: 4,
rows: 6,
width: 1fr,
height: 1fr,
column-gutter: 10pt,
row-gutter: 10pt,
page-margin: 0.5in,
paper: "us-letter",
cell-padding: 6pt,
record => [ ... ]
)Enable light cut lines around each label cell to assist with manual trimming or align printers:
-
show-cut-lines: true(default stroke: 0.5pt light gray) -
show-cut-lines: 1pt + rgb("#cbd5e1")(custom stroke)
#mail-merge-labels(
data,
preset: presets.badge-2x4,
show-cut-lines: true,
record => [ ... ]
)fill accepts a solid color or a function record => color for dynamic badge coloring based on record attributes:
#mail-merge-labels(
data,
preset: presets.badge-2x4,
fill: record => if record.Role == "Speaker" { rgb("#fef3c7") } else { rgb("#f1f5f9") },
record => [ ... ]
)