LabelPress prints custom-designed labels and name badges to any AirPrint-compatible printer.
It was originally developed and tested on the Epson ColorWorks C4000 colour label printer
for conference badge production — both large pre-event batch runs and individual on-demand
badges printed at the registration desk.
Design templates in the Template tab, browse them in Gallery, fill in data and print a single
label with Fill & Print, or run bulk print jobs from a spreadsheet in the Merge tab.
Tab 1
Gallery
The starting point for every workflow. Gallery shows all your templates as card previews
so you can spot the right design at a glance and launch any action directly from here.
Browsing and filtering
SortOrder cards by Name A–Z, Name Z–A, Size ↑, or Size ↓.Label sheet size onlyWhen checked, only templates whose dimensions match the active label sheet layout (within 1 mm) are shown.Size sliderResize the preview cards from small (more cards visible) to large (more detail).Tag filter chipsWhen templates have tags, a filter bar appears above the grid. Click a chip to show only templates with that tag. Multiple active chips use OR logic — any matching tag qualifies.
Tags
Tags let you group related templates (e.g. event-2025, VIP, staff).
Select a template, then use the tag editor in the action bar.
Add a new tagType a name in the input field and press Enter.Assign an existing tagClick any chip in the Add: suggestion row to assign a tag already used by other templates.Remove a tagClick × on a tag pill to remove it from the current template.
Template actions
Click any card to select it. The action bar appears below the toolbar:
EditOpen the template in the Template tab for editing.Fill & PrintJump to Fill & Print with this template pre-selected.List PrintJump to Merge > Labels with this template pre-selected.Label SheetJump to Merge > Labels Sheet with this template pre-selected.+ New TemplateCreate a blank template (prompts for a name) and open it in the Template tab.DeletePermanently remove the selected template (asks for confirmation).
Tab 2
Template
Design reusable label templates and configure label sheet layouts.
Two sub-panels are available via the Label | Labels Sheet segmented control at the top.
Label sub-panel
The template selector and + New sit on the first row. A second row holds the action buttons. A third row has Cancel and Save:
+ NewCreate a blank template and give it a name.Rename / Duplicate / DeleteRename, copy, or permanently remove the current template.Cancel / SaveCancel discards unsaved edits; Save commits them. Both are active only when there are unsaved changes.
Label size
Width / HeightPhysical label size in mm. Default: 96.5 × 83 mm.ButterflyLocated to the right of the Height field. Prints two copies on one strip — second copy rotated 180°. Use for fold-over name badges.
Print Resolution
DPIReported image resolution. Used to compute the physical size of the background image. Adjust if your file does not embed a DPI value.
Editor
The Editor section shows a live thumbnail of the label — background image, graphic layers, and
the positions of all enabled text fields. Click anywhere on the thumbnail (or the Edit…
button) to open the full layer editor.
Edit…Open the Image Editor. All label design — background, shapes, images, fixed text, and variable text field positions — is done here.
Full editor documentation is in the
section of this guide. Once saved, use Fill & Print for a single label or Merge for bulk printing.
Labels Sheet sub-panel
Define grid layouts that match physical label sheets (e.g. Avery, Hama).
The selector and + New are on the first row; action buttons follow on the second; Cancel / Save on the third.
+ NewCreate a blank layout and give it a name.Rename / Duplicate / DeleteRename, copy, or permanently remove the current layout.Cancel / SaveCancel reloads the last saved state; Save commits changes. Both active only when there are unsaved changes.
Layout parameters
PaperPhysical paper size (A4, Letter, etc.).ShapeRound — circular labels. Rect — rectangular labels (optionally with rounded corners).Label W / Label HWidth and height of a single label in mm.Corner RCorner radius in mm. Only shown for rectangular labels.Columns / RowsNumber of labels across and down the sheet (nx × ny grid).Top margin / Left marginDistance from the top-left corner of the page to the first label, in mm.Horiz. pitch / Vert. pitch or Horiz. gap / Vert. gap
The spacing section has a Pitch / Gap toggle in its header — use whichever matches the spec sheet in front of you.
Pitch is the distance from the left edge of one label to the left edge of the next (i.e. label size + gap). Avery datasheets typically publish pitch directly.
Gap is the blank space between two adjacent labels. Herma datasheets typically publish gap. Enter 0 when labels touch with no space between them.
Both modes store the same data internally — switching between them converts the displayed values on the fly without affecting anything saved.
Herma & Avery presets
Five Herma and Avery label sheet sizes are built-in — pick one from the + New dialog or the preset dropdown to pre-fill all parameters automatically.
Sheet preview
The right column shows a live preview of the sheet grid that updates whenever you change a layout parameter or switch sheets. Cells are shown as gray placeholders — the filled preview with real label content is available in the Merge > Labels Sheet panel.
Tab 3
Fill & Print
Print a single label. Select a template, enter the value for each variable field,
configure print settings, and send to the printer. A live preview updates as you type.
Conference registration desk
Fill & Print is designed for on-demand badge printing at a registration desk. Type the
attendee's name and details, hit Print, and the badge comes out of the printer in seconds —
ideal for walk-ins or replacement badges during an event.
For printing the full attendee list in advance, use the Merge tab instead.
Field input
The left panel lists every enabled variable field from the selected template.
Type the value for each field — the live preview on the right updates immediately.
Print settings
CopiesNumber of identical labels to print (1–99).Paper / OrientationPaper size and orientation sent to the printer. Auto orientation picks Portrait or Landscape automatically based on the label dimensions.PrinterThe target AirPrint printer. Populated automatically from the network.Auto CutPrinter default, Off, Full cut, or Half cut. "Every N" options cut after every N labels.Offset (mm)Fine-tune print position right / down if the output is slightly misaligned on the label stock.
Tab 4
Merge
The Merge tab brings together your data and your label templates for bulk output.
Three sub-panels are accessible via the Data | Labels | Labels Sheet segmented control.
Data sub-panel
Build and manage the table of records that feeds into bulk print jobs.
1Select a template from the dropdown at the top of the panel.
2Populate rows — three options:
• ↑ Import File… to load a .csv or .xlsx file — the recommended path for real event data.
• + Add Row to enter data manually, one label per row.
• Paste from Clipboard, then press ⌘V — for quick tab-separated pastes from Excel or Numbers.
3Check the rows you want to print. The header checkbox selects or deselects all rows at once.
Importing a CSV or Excel file
Click ↑ Import File… and select a .csv or .xlsx file.
LabelPress reads the first row as column headers, then shows a mapping dialog.
Column mappingEach spreadsheet column is listed with a dropdown showing your template's fields. LabelPress auto-matches by name — adjust any that didn't match, set unwanted columns to Skip.Remember mappingCheck this box to save the column-to-field mapping for the current template. It will be pre-filled automatically on the next import.Import rowsAdds all non-empty rows from the file to the table. Existing rows are kept — import again to append more.
Supported formats.csv — any delimiter, including exports from Eventbrite, Google Sheets, and Numbers. .xlsx — standard Excel format; data is read from the first sheet.
Previewing labels before printing
Click 👁 Preview to open the preview window. It renders each label at full
fidelity so you can spot layout problems before sending to the printer.
NavigationUse the ←→ arrow buttons, the ↖ / ↗ first/last buttons, or the keyboard arrow keys. Press Esc to close.Overflow warningAn orange banner appears when any text field extends beyond the label edge. Edit the value in the strip below — the label re-renders immediately.Inline editingEach field appears as an editable input below the label. Changes are written back to the table row automatically. Arrow-key navigation is paused while an input is focused; press Esc to close.Opening at a specific rowClick any row in the table before opening Preview — the modal opens at that entry instead of the first one.
Exporting the data table
Use ↓ CSV or ↓ Excel to save the current table. The first row contains
field names from the active template; subsequent rows contain the entered values.
All rows are exported regardless of the print checkbox state.
Export is useful for archiving who was printed at an event, or for passing corrected data back into another system. The exported file can be re-imported with ↑ Import File….
Labels sub-panel
Configure print settings and send all checked rows to the printer as individual labels.
PrinterCan be changed per run without touching the template.Offset right / downPrint-position fine-tuning in mm, same as the Fill & Print offset.Auto CutSame options as Fill & Print — applies to the entire batch job.🖨 Print SelectedSends all checked rows to the printer in one job, in the order they appear in the table.
Labels Sheet sub-panel
Print a full sheet of labels in one go. Data comes from checked rows in the Data sub-panel.
Sheet LayoutChoose the grid layout defined in Template > Labels Sheet. LabelPress fills every position on the sheet with the next checked row.Label TemplateThe template rendered into each label cell.PrinterTarget printer for the sheet job.🖨 Print SheetRenders the sheet as HTML, converts to PDF via Chromium, and sends it to the printer.👁 Preview PDFOpens the rendered PDF in Preview so you can check placement before printing.
The right column shows a live preview of the filled sheet.
↺ RefreshRe-reads the Data table and re-renders the preview. Use this after changing rows or check states.◀ / ▶ navigationStep through sheets when the data fills more than one page.Click to enlargeClick the preview canvas to open a full-screen zoom view. Press Esc to close.
Label placement
Each label is rendered from the top-left corner of the cell and clipped to the label boundary. If the template is larger than the cell it will be cropped — match the template size to the label dimensions defined in the sheet layout for best results.
Tab 5
Library
Move templates and label sheet layouts between your local app storage and a shared
JSON file. Use it to back up your work or share with a colleague.
Local (this machine)
All templates and label sheet layouts saved in this app.
Entries are labelled LS (label sheet) or T (template).
↓ Export — save the selected item to a .json file on disk.
↑ Import — load an item from a .json file into local storage.
Library (shared file)
↑ Load Library… — open a .json library file from disk.
Browse and preview templates and label sheets in the library list.
Copy items in either direction between local and library.
↓ Save Library — write changes back to the file.
Cancel — discard unsaved changes to the library.
Close — close the library file without saving.
Font portability
When you export a template that uses custom fonts, the font data is embedded in the .json file.
When someone imports that file, LabelPress offers to add the embedded fonts to their font library automatically.
Tab 6
Fonts
Manage the typefaces available in text fields and the Image Editor.
LabelPress ships with five system fonts and no proprietary typefaces —
you supply your own licensed files.
System fonts (always available)
HelveticaLabel name · Conference 2025
ArialLabel name · Conference 2025
GeorgiaLabel name · Conference 2025
Times New RomanLabel name · Conference 2025
CourierLabel name · Conference 2025
Adding custom fonts
1Click + Add Font… and select one or more TTF or OTF font files. You can add multiple files at once.
2The font appears in the Your fonts list with a preview. It is now available in every font dropdown in the app.
3To remove a font, click the delete button next to it in the list. Templates that referenced it will fall back to Helvetica.
Storage & licensing
Font files are stored in the app's local storage and never leave your machine.
Each user must supply their own licensed copies.
When sharing templates via the Library, embedded font data travels with the file
— the recipient still needs a valid license to use that font.
Template — Editor
Image Editor
A canvas-based layer editor built into LabelPress. Compose the entire label here —
background image, graphic layers, fixed text, and the positions of variable text fields —
with no external design tool required.
Open it from the Template tab by clicking the label thumbnail or Edit….
Editor layout
Left panelBackground — load or clear the background image. Add Layer — five icon buttons (🖼 image, ▭ rect, ◯ circle, ╱ line, T text) plus an Arrange dropdown with Apply button. Text Fields — enable/disable each of the six variable fields.Canvas (centre)The working area showing the label at a scaled size. All positions are in real mm. Below the canvas: Layers list and Delete layer button.Properties (right)Editable fields for the selected object — position, size, font, color, etc. ✓ Save and Cancel sit at the bottom of this column.
Text fields (variable, up to 6)
The six variable text fields live inside the editor as draggable canvas objects.
Enable a field using its checkbox in the Text Fields panel — it then appears on the canvas
as a semi-transparent [Label] placeholder that you can drag to any position and style
via the Properties panel.
Enable / disableCheck the box in the Text Fields panel. Disabled fields are hidden on the canvas and not printed.LabelThe prompt shown when filling in data at print time, e.g. First name. Edit it in the Properties panel when the field is selected.Position & styleDrag the placeholder on the canvas, or enter X/Y mm directly. Font, size, color, Bold and Italic are all set in the Properties panel.Disable via DeleteSelecting a text field and pressing Delete / ⌫ (or the Delete button) disables the field rather than removing it — it can be re-enabled at any time.
The label thumbnail in the Template panel reflects which fields are enabled and where they are placed.
Adding graphic layers
Click any icon in the Add Layer grid. The new layer is placed roughly centred on the canvas
and selected immediately so you can position it straight away.
Layer typeEditable properties
Image 🖼
X, Y, Width, Height (all in mm). Import any PNG or JPEG; scaled to ~50 % of the label on insertion.
Rectangle ▭
X, Y, Width, Height; fill color; optional border (color + thickness in px, or None).
Circle ◯
Same as Rectangle. The bounding box is a rectangle — the circle is inscribed inside it.
Line ╱
Two endpoints X1/Y1 and X2/Y2 (mm); color; line width in px. Drag either endpoint to reposition it.
Text T
X, Y (mm, top-left of text); content; font; size in pt; color; Bold; Italic. Fixed text — not filled in at print time.
Background layer
The image loaded via Load image… is always the bottom-most layer.
It is not selectable on the canvas. Use ✕ Clear to remove it if you want to
build the label entirely from shapes.
Selecting, moving & resizing
Select oneClick any object on the canvas. A blue dashed outline appears and the Properties panel updates.Select multipleHold Shift and click additional objects (or field rows in the Text Fields panel) to add them to the selection. Selected objects show a lighter blue outline; the primary selection retains its resize handles.Rubber-band selectClick and drag on empty canvas to draw a selection rectangle. All objects fully inside the rectangle are selected when you release.DeselectClick empty canvas space (without Shift) to clear the selection.MoveDrag any selected object. When multiple objects are selected, all move together by the same offset.ResizeDrag one of the eight white handles at the corners and midpoints of the primary selection box (single-object only).Lock aspect ratioHold Shift while dragging a corner handle to resize without distortion.Line endpointsLines have two handles — one per endpoint. Drag either to reposition it.
Aligning & distributing
The Arrange section sits under the Add Layer buttons in the left panel.
Choose an alignment command from the dropdown and click Apply. All commands apply to the current selection (or the single selected object).
⇤ L / ↔ H / R ⇥Align each selected object's left edge, horizontal centre, or right edge to the corresponding canvas edge or centre.⇡ T / ↕ V / B ⇣Align each selected object's top edge, vertical centre, or bottom edge.Space fields evenly ↕Distributes the selected text fields evenly between the topmost and bottommost selected field. If no fields are selected, distributes all enabled fields. Requires at least 3 fields to produce a visible change.
Layer order
The Layers panel (below the canvas) lists graphic objects from front to back.
Click a row to select it. Use ↑ to bring a layer forward and ↓ to send it back.
The Delete layer button sits directly below the Layers list.
The Background layer is always locked to the bottom. Text Fields are managed in the separate Text Fields panel and do not appear in the Layers list.
Delete, undo & save
Delete button / ⌫ keyDeletes all selected graphic objects (asks for confirmation). For text fields, pressing Delete disables the field instead of removing it — it can be re-enabled at any time.⌘Z / Ctrl ZUndo the last action. Up to 60 steps are stored per editing session.✓ SaveFlattens graphic layers into a PNG (text field placeholders are excluded — they render at print time). Stores the result as the template background. The editor closes.CancelDiscards all changes made in this session and restores the previous state.
Non-destructive re-editing
Layer positions, styles, and text-field settings are saved with the template,
so re-opening the editor restores the full layer stack — you are never locked into a flattened image.