Visual ZPL label designer
Visual ZPL label designer
Design Zebra (ZPL) labels by placing text, barcodes, shapes and pictures on the label, with an exact preview of what the printer will print.
Beta. The visual designer is new. The ZPL code it writes is ordinary ZPL, so you can always switch back to editing the code by hand.
Opening the designer
- In Documents → Document Designer, create a template and choose ZPL Label, or open an existing label template.
- Above the editor, switch Editor view from ZPL code to Visual.
The designer saves the label into the template's ZPL code, so versions, drafts, approvals, copies and every way of printing a template work exactly as they do for a hand-written label. You can switch between Visual and ZPL code at any time.
The screen
- Toolbox (left): add elements, grouped as Text & data, Barcodes, Shapes, Media and Advanced. Below it, Elements lists everything on the label; click one to select it or lock it in place.
- Canvas (center): the label at its real proportions. Drag to move, use the handles to resize, and use the toolbar for undo and redo, duplicate, rotate 90°, layer order, grid, snap and zoom.
- Properties (right), in three tabs:
- Element: the selected element's content, position and size, and options.
- Label & printer: the label size and printer settings.
- RFID: tag encoding.
- Exact preview: the label as the printer will print it, updated as you work.
Shortcuts: arrow keys nudge the selection (hold Shift for one grid step), Delete removes it, Space + drag pans the canvas, and Ctrl + mouse wheel zooms.
Elements
| Element | What you can set |
|---|---|
| Text | Font, character height and width, rotation, reverse (white on black), and an optional text block with a width, number of lines, justification and line spacing. |
| Serial number | Text that counts up or down on every label printed, with a starting value, an increment and whether to keep leading zeros. |
| Barcode and QR code | Every barcode type a Zebra printer can print, including Code 128, Code 39, Interleaved 2 of 5, EAN and UPC, GS1-128, GS1 DataBar, QR Code, Data Matrix, PDF417, MicroPDF417, Aztec, MaxiCode and postal codes. Options include the narrow bar width, the wide-to-narrow ratio, the bar height, the human-readable line (above, below or none), the check digit, and each type's own settings, such as QR error correction or Data Matrix module size. |
| Box, line, diagonal, circle, ellipse | Size, line thickness, color (black or white) and corner rounding. |
| Picture | A PNG or JPEG, converted to black and white with an adjustable threshold, and optionally inverted. |
| Raw ZPL | ZPL commands sent to the printer exactly as written, for anything the designer does not model. |
Data fields
Text, barcode and RFID data can include template fields such as {{.PartNumber}}, which are filled in when the label prints. Use Insert field… to choose from the fields on the template's Data tab and the built-in fields, such as dates. The preview fills fields from your sample data.
The designer writes every field value so that it always prints as text. A value that contains ZPL characters such as ^ or ~, for example from an ERP record or a scan, cannot change the label or send commands to the printer. Data Matrix and other 2D codes can hold control characters such as the GS and RS separators; use Insert a control character to add them.
Label & printer settings
- Label: width and height in inches or millimeters, and the design density (152, 203, 300 or 600 dpi). Positions and sizes are physical, so changing the unit or the density moves nothing.
- Printer: darkness, print speed, media type (direct thermal or thermal transfer), print mode (tear-off, peel-off, rewind, cutter, delayed cut, applicator, RFID or kiosk), media tracking, character encoding, mirror image, print upside down and reverse every field. A blank setting keeps the printer's own.
- Position on the media: label top, label shift and label home.
- Quantity: copies, pause and cut every so many labels, and replicates of each serial number.
- Printer commands: commands that draw nothing on the label, such as
~SD15or^MMC,Y. Each one is described in plain words, and they are sent to the printer exactly as written, in the order listed. You can add, edit, reorder and remove them.
RFID
On the RFID tab, turn on Encode an RFID tag in this label to set up the tag (tag type, tag position, VOID print length, read and write power, retries and what to do with a failed tag) and add tag operations:
- Write data to a memory bank (EPC, TID, User or Reserved) in hexadecimal or ASCII, or write EPC fields using an EPC field layout.
- Read a memory bank, and optionally send the value read back to DataMagik.
- Lock tag memory.
Tag data can include template fields. Send RFID labels to RFID printers: a printer without an RFID encoder prints the tag data as text in the top-left corner. The preview shows the label as an RFID printer prints it.
The exact preview
The preview is rendered by the same engine DataMagik uses everywhere it shows ZPL, matched against a real Zebra printer, so what you see is what prints. Fonts are close look-alikes of Zebra's fonts. Anything the renderer wants you to know appears under Notes from the renderer.
- Preview on printer: choose one of your printers to see the label as that printer will print it, at its DPI.
- Test print: send one label, filled with your sample data, to the chosen printer.
Printing on any printer's DPI
A label designed in the visual designer prints at the same physical size on a 203, 300 or 600 dpi printer. When a printer's DPI differs from the label's design density, DataMagik scales the label to that printer when it prints, and the print job's message says so, for example "Label scaled from 8 to 12 dots/mm for this 300 dpi printer." This happens on every print path: scripts, automations, the API, mobile and material tickets. For it to work, set the DPI on each Zebra printer in Connectors → Printers.
Barcode bars are whole printer dots, so a barcode can be very slightly wider or narrower on a printer with a different DPI. Use Preview on printer to check it.
Opening labels written by hand
Switching an existing hand-written label to Visual reads its ZPL code into elements. A notice at the top says what was opened; choose Show for the details.
- Anything the designer cannot model becomes a locked Raw ZPL element. It prints exactly as before.
- Commands that draw nothing go to Label & printer → Printer commands.
- Lines written as
^REM …are marked Looks like a comment. ZPL comments are written^FX; a printer reads^REMas the RFID command^RE, and any command written after it on the same line is run. Use Convert to ^FX comment, or Convert all, to fix them. - A label whose code mixes template logic, such as
{{if}}or{{range}}, in between ZPL commands cannot be opened visually and stays in ZPL code.
If someone edits the ZPL code by hand after the designer saved it, the designer notices and opens the label from the code again the next time you switch to Visual.
Permissions: Designing and editing templates requires the Builder permission.
See also: Printers, Barcode Generation, and the Plex Label Designer for labels stored in Plex.