Label Designer
The Label Designer is for labels you make yourself: shelf tags, price tags, inventory stickers, return address labels, shipping labels, and more. The canvas is the exact size of your label, measured in millimeters, so what you see is what the printer gets.

Starting a label#
- Blank: choose File → New label, or Create new label on Home. A blank label is 101.6 × 152.4 mm (4 × 6 inches).
- From a template: pick one on the Home screen, or open the template menu (the last icon in the element palette). Templates are ordinary labels you can change freely. They open as unsaved, so save them under your own name to keep your edits. Designs you saved with File → Save as template… are listed under Your templates in the same menu (see below).
- From a saved design: press Open, drop a
.thermalprintfile on the window, or double-click one in your file manager.
Label setup#
Select nothing (click an empty part of the canvas) and open Label setup in the properties panel:
| Field | Meaning |
|---|---|
| Label name | The title of the design. It is used when you save and in your recent prints. |
| Width and Height | The label size in millimeters. With Rotate 90° when printing on, they are the canvas as you design it, turned on its side. |
| Rotate 90° when printing | Optional, off to start. Design a wide label on its side so the text reads straight, and print it rotated 90° to fit the label stock as loaded. See Rotated printing. When it is on, Rotate the other way appears. |
| Serial variable | The starting number for ${serial}. See Dynamic text. The number range and sheet windows start from it. |
| Auto-length (continuous roll) | Print only as long as the content needs. See Labels with no fixed length. When it is on, Bottom margin and a Printed length readout appear. It is not available with rotated printing. |
| Grid size | The spacing of the guide grid in millimeters (0.5 to 50; 5 to start). |
If the label size does not match the media of the selected printer, the status area under the canvas says so and offers Match label to printer media. That button resizes the canvas to the printer's stock without moving or resizing your objects, and Ctrl+Z undoes it. If a smaller label is intentional, choose matching media in Print Center instead.
The toolbar#
| Control | What it does |
|---|---|
| File | New label, Save as…, Save as template…, Template gallery…, Print on a sheet…, Print a number range…, and Batch print from CSV… (see Batch printing). |
| Open / Save | Open a design file; save the current one (Ctrl+S). |
| Undo / redo | Ctrl+Z and Ctrl+Y. |
| Zoom out / in / fit | Zoom from 25 % to 500 %. Fit returns to 100 % and re-centers. Drag with the middle mouse button to pan. |
| View | Show grid, Snap to grid, Smart guides, Show printable area, Properties panel, and Focus canvas. |
| Export | Save as PDF, PNG, SVG, or ZPL, and the Print using raw ZPL switch. See Exporting. |
| Focus | Hide the sidebar and properties to give the canvas the whole window. Press it again to bring them back. |
| Print the label on the printer chosen in Print Center. |
The element palette#
The column of icons at the left adds objects. Click one and the new object appears on the canvas, selected, ready to edit.
| Icon (top to bottom) | Adds |
|---|---|
| T | A text box. |
| Address card | A multi-line text block prefilled as an address. |
| Barcode | A barcode (Code 128 to start; change the type in the properties). |
| QR | A QR code. |
| Rectangle, ellipse, line | Basic shapes. |
| Two divider icons | A horizontal or vertical divider line. |
| Picture | An image or logo from a file. |
| Address book (card with a person) | A menu of saved addresses to add as text. See Address book. |
| Warning triangle | Shipping symbols and your saved logos. See Symbols and logos. |
| Last icon | The template menu. |
Each object type has its own page section in Objects. Every palette and properties button is an icon with an accessible name: hover over it to read the name, and screen readers announce the same text.
Working on the canvas#
- Select: click an object. Shift+click adds or removes objects from the selection. Click an empty spot to deselect.
- Move: drag the object.
- Resize: drag the square handle at the bottom-right corner. It resizes along the object's own direction, even when it is rotated.
- Rotate: drag the round handle above the object. Hold Shift to snap to 15° steps. For an exact angle, type it into Rotation; fractional degrees such as 23.5° work.
- Grid and snapping: turn on Show grid to see a guide grid, and Snap to grid to make movement land on it. Label setup → Grid size sets the spacing in millimeters (5 mm to start); snapping moves in steps of a fifth of it.
- Smart guides: with View → Smart guides on, a dragged object snaps to the edges and centers of the other objects and to the label's center, and magenta lines show what it lined up with.
- Nudge with the keyboard: the arrow keys move the selection by 0.1 mm, and Shift+arrow by 1 mm.
- Lock: tick Lock position and size to protect an object. A locked object cannot be dragged, resized, rotated, nudged, or deleted from the canvas until you unlock it.
The line above the canvas reminds you: Drag to move · square to resize · circle to rotate · Shift: 15°.

The properties panel#
With one object selected, the panel on the right shows:
- An Object list to jump to any object, including ones hidden behind others.
- X, Y, W, H and Rotation: exact position and size in millimeters.
- Content settings for that object type (text, barcode value and type, QR content, stroke).
- Forward and Backward to change which object is on top, Duplicate, and Delete.
With several objects selected, the panel shows the count and tools to arrange them. Hide the panel with View → Properties panel.

| Tool | What it does |
|---|---|
| Align: left, center, right, top, middle, bottom | Lines the selected objects up with each other. |
| Distribute evenly: horizontally, vertically | Makes the gaps between three or more objects equal. The two outermost objects stay where they are. |
| Center on label | Centers the selection as a group on the label, horizontally or vertically. A single object has the same buttons. |
| Lock all / Unlock all | Locks or unlocks every selected object. |
| Delete selected | Deletes the unlocked objects in the selection. |
These tools are icon buttons: hover over one to see its name, and screen readers announce the same name. Locked objects are skipped by every one of them. A single object also has Rotate 90° (a quarter turn clockwise) and Flip horizontally / Flip vertically, which mirror it before it is rotated.
Saving and the unsaved-changes prompt#
Designs are saved as .thermalprint files. They are editable, versioned, and include embedded images, so a design is a single file you can copy or email. The status bar shows Unsaved when there are changes.
Whenever an action would replace your current design (New, Open, choosing a template, a past print, or closing the app), ThermalPrint asks first:

If a save fails or you cancel the file chooser, your design stays open and unchanged.
The template gallery#
File → Template gallery… shows every built-in template and every template you saved as a small preview, with a search box. Click a card to open it as an unsaved copy; the trash button under one of your own templates removes it.

Your own templates#
When you reuse a design, choose File → Save as template…. The design is stored in a templates folder inside ThermalPrint's settings folder, named after the label, and appears under Your templates in the template menu next to the built-in ones. Choosing one opens an unsaved copy, so the template itself never changes. Saving a template under a name you already used replaces it, and the trash button beside a template removes it. You can keep up to 100.
Rotated printing#
Labels are usually designed the way they come out of the printer: a 4 × 6 inch label is designed tall, 101.6 mm wide and 152.4 mm long. Some labels are meant to be read sideways, with wide content such as a long address, a big barcode, or a product name across the long side. Rotated printing lets you design such a label on its side, so the text reads straight while you work, and rotates it 90° when it prints so it still fits the label stock the way it is loaded. It is optional and off to start; labels without it print exactly as designed.
- Select nothing (click an empty part of the canvas) and open Label setup.
- Tick Rotate 90° when printing. The canvas turns on its side: a 4 × 6 label becomes 152.4 mm wide and 101.6 mm tall. The label stock does not change, and objects keep their positions, so you may want to move them. Ctrl+Z undoes the change.
- Design the label. A blue Rotated printing banner across the top of the canvas reminds you that the label is rotated when it prints, and names the size it prints on.
- Check the As printed card in the canvas's bottom-right corner. It shows the label the way it comes out of the printer. The label is rotated clockwise to start; if it faces the wrong way for you, tick Rotate the other way.
- Print as usual. A note above the print controls says that Print rotates the label 90° to fit.

Rotation applies everywhere the label goes to the printer: Print, numbered runs, spreadsheet batches, Print on a sheet, and ZPL. The size check against the printer media, the printer's unprintable border, and the alignment offset all use the printed label, so the shaded border on the canvas appears on the edges that are actually affected. PDF, PNG, and SVG exports stay the way you designed them. The setting is saved in the .thermalprint file. Auto-length is not available with rotated printing.
If you made a label the size of your stock turned on its side, for example 152.4 × 101.6 mm while the printer has 4 × 6 inch media, the size warning under the canvas offers Use rotated printing. It keeps your design as it is and rotates it when it prints.
Rotated printing is only in the Label Designer. To turn a downloaded PDF or image, use Rotation in Import & Convert.
Labels with no fixed length#
On a continuous roll the label should be as long as its content. In Label setup tick Auto-length (continuous roll): the printed length becomes the lowest edge of any object plus the Bottom margin (2 mm to start), and the status bar and Printed length show the result. Use it with Custom media in Print Center. The canvas keeps the height you set for editing.
Numbered runs and sheets#
- File → Print a number range… prints labels numbered by
${serial}: choose the First number, the Step, and How many labels. Every label is drawn first, so nothing is sent if one has a problem. Use${serial:4}for zero-padded numbers like0007, and type a prefix before it, such asINV-${serial:4}. - File → Print on a sheet… places copies of the label on an A4 or Letter page for an office printer or a sheet of sticky labels. Choose columns, rows, margin, and gap, or press Fit as many as possible; a small diagram shows the layout.
${serial}counts up from one label to the next. Pages are drawn at the resolution you choose (300 DPI to start; 203, 300, or 600 are offered), and the whole run is drawn before anything is sent. Save as PDF always works (with more than one page, files are numbered-1,-2, and so on); Print sheet needs a printer that lists the paper. More labels than fit make more pages.


If the app closes unexpectedly#
While a design has unsaved changes, ThermalPrint keeps a recovery copy a few seconds after each edit. If the app ends unexpectedly, the next start shows Unsaved changes from your last session were found above the toolbar: Restore reopens it as an unsaved copy and Discard deletes it. Saving, or discarding a change on purpose, removes the copy.
The printable area#
Most printers cannot print right to the edge of the media. ThermalPrint reads each paper size's imageable area from the printer's driver description (its PPD file) and works out the margin on every side. When the label size matches the media of the selected printer and the driver reports a margin, the canvas shades that border in amber, and the status area names any object that reaches into it, because that part may be cut off. Turn the shading off with View → Show printable area.
When nothing is shaded#
Many thermal printers tell the driver that the whole label is printable, so there is no border to shade. That is normal, and the app now says so: while Show printable area is on and a printer is selected, a short grey line under the canvas gives the reason. Pointing at the Show printable area menu entry shows the same reason. The possible reasons are:
| Message | What to do |
|---|---|
| Choose a printer in Print Center … | Pick a printer. (This line only appears when a printer is selected, so it is shown in the menu hint.) |
| Select printer media in Print Center … | Choose the paper size your printer has loaded. |
| Choose media that matches this label's size … | The canvas size must match the selected media within half a millimeter. Use Match label to printer media under the canvas, or pick other media. |
| The printer's driver reports no unprintable border for this media … | The driver says everything is printable. If your printer still cuts off the edges, set a safe margin (below). |
Safe margin#

Use View → Safe margin to keep content a set distance from the edge, whatever the driver says. Set it in millimeters, from 0 to 10. The canvas shades that border in amber, and the status area names any object that reaches into it. Where the driver also reports a border, each side uses whichever is larger. The safe margin is remembered for each printer, so a small price-tag printer and a 4 × 6 printer can each have their own. You can also set it in Print Center, under Alignment. Leave it at 0 to turn it off. A good starting point for a printer that clips its edges is 2 mm; print a test label and adjust.

Printing from the Designer#
Choose your printer and media in Print Center, then press Print in the toolbar. The design is drawn at the printer's resolution (203, 300, or 600 DPI) and sent as a one-page PDF. If a label contains something that cannot be drawn, such as a barcode value that is not valid, printing stops with a message that names the problem. Designs you print are listed under Recent prints in Print Center so you can reopen them later.
For many different labels from one design, use File → Batch print from CSV…. For direct ZPL printing, see Exporting.
