See the documentation for a full list of the ZPL commands that are supported.
If you need to use a currently unsupported ZPL command, feel free to let us know. We'll add your request to our backlog and send you an email when we get to it. We also provide commercial support for urgent needs; if you have a time-critical request, just drop us a note and we'll be happy to provide you with an estimate.
In general, any modern, evergreen browser should work.
Specifically, this means that you should be able to use the latest versions of Firefox, Chrome, and Safari, as well as Internet Explorer 10 or later.
There are a number of reasons that you might be seeing differences between your physical labels and the Labelary output.
First of all, your labels may rely on custom configuration to work correctly. Labelary simulates a new printer with the default factory settings. If your labels rely on custom fonts or images that are not included in each label template, this may result in images that do not match the labels printed by your pre-configured physical printer.
Secondly, your labels may be using a ZPL feature that Labelary does not support or that is supported incorrectly. Check the list of implemented ZPL commands to ensure that all of the commands that are relevant to your use case are supported. If your commands are all supported but you are seeing differences between Labelary's output and your physical labels, drop us a note with an example so that we can fix it and add your test case to the thousands of tests that we already use to verify Labelary's behavior.
If you're using the online viewer, you may be having issues with your firewall. Browsers use Cross-Origin Resource Sharing (CORS) to allow web domains to communicate across domain boundaries. However, some firewalls automatically remove CORS headers from HTTP requests. Browsers need these headers to keep you safe. If these headers are being removed, you'll see errors such as
"XMLHttpRequest cannot load http://api.labelary.com/version. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://labelary.com' is therefore not allowed access"
in your browser console, and you should contact your firewall maintainer or IT department so that they can fix your firewall configuration.
If you're not using the online viewer, or you don't think you are running into the firewall configuration issue described above, then you may have found a bug. We'd appreciate it if you'd send us an email (including the ZPL code that you were using) so that we can investigate!
Labelary can read a wide variety of common image formats, but it can't read JPEG images that use a CMYK color model. If you're using a CMYK JPEG image, try converting it to a different format before uploading it. You should have no issues with RGB JPEG images.
If this isn't the problem and you're still having issues adding your image to your label, please send us your ZPL code and your image so that we can investigate!
You can simulate colored (or partially colored) label stock by using the non-standard ~BR ("background rectangle") and ~BI ("background image") commands.
See here for more information about these commands.
None. The public web service is a fully-functional instance of the Labelary ZPL rendering engine, provided at no cost for the benefit of label designers around the world. However, there are no SLAs around this service, and all free support is on a best-effort basis.
If you'd like to incorporate Labelary into a business-critical production process, you may want to consider the offline licensing option.
No, but we are considering such an offering. If you would be interested, please let us know.
We do offer an offline version of the Labelary engine licensed for local use. Please contact us for licensing information.
For one-off conversions, we recommend that you just use our online ZPL viewer to add images to your label templates.
If you'd rather not use our image conversion web service and don't mind forgoing the advanced compression functionality which it provides, have a look at the pyzpl2 project, which provides a simple conversion function here.
Finally, if you'd rather write your own conversion utility, be sure to read the "Alternative Data Compression Scheme for ~DG and ~DB Commands" section of the official ZPL II Programming Guide, Volume 2.