FM ZPL Helper

FM ZPL Helper is a developer tool that you can use to create ZPL templates for label printing in FileMaker apps.

Printing with ZPL means NO printer drivers, NO plugins, NO barcode fonts/add-ons, and YES to iOS, YES to WebDirect, YES to Mac, YES to Windows, and YES to PSOS and Server Scheduled Scripts!

A short video walkthrough is available on our YouTube channel.

Download Now – Free and Unlocked (version 1.1.3, 2021-05-04)

The tool has an easy-to-use editor that allows you to design a label including text, shapes, barcodes, and graphics. Text can be designated as fixed or as merge fields.

Once your template is ready, there are 3 ways to export.

Select “ZPL Sample Data” and click “COPY” to get the raw ZPL with sample data included on your clipboard.

^FO220,50^A0,60,^FDFM Freight, LLC.^FS
^FO220,115^A0,30,^FDOne Apple Park Way^FS
^FO220,155^A0,30,^FDCupertino, CA 95014^FS
^FO50,300^AA,30,^FDDefine Database, Inc.^FS
^FO50,340^AA,30,^FD603-109 Ossington Avenue^FS
^FO50,380^AA,30,^FDToronto, ON  M6J 0G1^FS

Select “ZPL FM Calculation” and click “COPY” to get a FileMaker calculation with merge field substitutions on your clipboard.

Let ([
Substitute ( "^XA^FO50,50^GB100,100,100,,^FS¶^FO75,75^FR^GB100,100,100,,^FS¶^FO93,93^GB40,40,40,,^FS¶^FO220,50^A0,60,^FDFM Freight, LLC.^FS¶^FO220,115^A0,30,^FDOne Apple Park Way^FS¶^FO220,155^A0,30,^FDCupertino, CA 95014^FS¶^FO50,250^GB700,3,3,,^FS¶^FO50,300^AA,30,^FD{{ToLine1}}^FS¶^FO50,340^AA,30,^FD{{ToLine2}}^FS¶^FO50,380^AA,30,^FD{{ToLine3}}^FS¶^FO50,420^AA,30,^FD{{ToLine4}}^FS¶^FO50,500^GB700,3,3,,^FS¶^FO60,550^BY5,,270^BCN,270,,,,A^FD{{Barcode}}^FS¶^FO50,920^GB700,250,3,,3^FS^XZ";
  [ "{{ToLine1}}" ; ~ToLine1 ];
  [ "{{ToLine2}}" ; ~ToLine2 ];
  [ "{{ToLine3}}" ; ~ToLine3 ];
  [ "{{ToLine4}}" ; ~ToLine4 ];
  [ "{{Barcode}}" ; ~Barcode ]

Lastly, you can select “FM Script Steps” and click “COPY” to get FileMaker script steps on your clipboard – ready to paste into your script.


FileMaker 16 or later (required for cURL)

A label printer that supports ZPL language (most Zebra printers and some third party printers), connects to your network and accepts POSTED ZPL data via the /pstprnt endpoint.


2021-02-10 – Version 1.1 now includes graphic conversion. Drag in your logo to covert it to ZPL!

2021-03-04 – Version 1.1.2 now includes new features: the ability to specify the label home position (normally 0,0 but you may want to change in special circumstances or you may want to specify 0,0 explicitly if you have other apps that might change it), print speed, and darkness for the entire label. An encoding issue that prevented preview of labels containing certain characters has been fixed. Minor UI updates.

2021-05-04 – Version 1.1.3 – fixed an error that prevented the correct options to show for diagonal line shapes.

What it can’t do

If your label printer connects directly to your computer (via USB, for example), you may be able to send ZPL to the printer via the command line or a Serial Plugin. You’ll need to figure this out yourself, but feel free to share your results and I would be happy to include in a future update!

The tool supports a small subset of the ZPL language. If there’s something you need that isn’t supported (like a different barcode symbology for example), feel free to have at the ZPL Programming Guide (linked from inside the app), or make your requests in the comments and I may add them to a future version of the tool.

ZPL commands can also be used to modify the settings of your printer, but this functionality is not part of FM ZPL Helper.


Label preview and graphic conversion relies on APIs by If you’re interested in learning more about ZPL, Labelary has an excellent tutorial!

The invaluable BaseElements Plugin is used to create paste-able script steps. Thanks to Nick from Goya for adding gzip downloads for all plug-ins so that I could build the automatic download & install!

2 Replies to “FM ZPL Helper”

Leave a Reply to Maxwell Klein Cancel reply

Your email address will not be published. Required fields are marked *