Migrate from Labelary
Migration checklist
A runnable checklist for the change from Labelary to zpl.tools
Do these steps in order.
1. Get access
- Create an API key.
- Select the scope for the key: PNG only, PDF only, or all formats.
- Match the scope to the formats your integration requests with
Accept.
2. Change the base URL and add the key
- Change
https://api.labelary.comtohttps://api.zpl.tools/compatibility/labelary/in each location where it is hardcoded, or in the one configuration value. - Add
X-API-Key: <your key>to every request. The API returns a401for a request with no key. - Run your test suite, or a few manual calls, against the new base URL.
- Confirm that the responses have the same shape as the Labelary
responses: PNG bytes, PDF bytes, and the
X-Total-Countheader.
3. Check the headers and formats that you use
Search your integration for Accept, X-Rotation, X-Quality,
X-Page-, and X-Label-Border, and check each against
Behavioral differences.
- If a request asks for an unimplemented format
(
Accept: application/json, orepl/ipl/dpl/sbpl/pcl5/pcl6), contact us before you migrate it. - If a request sends
X-RotationwithAccept: application/pdf, change it to PNG or do not migrate it yet. - If a consumer depends on the PDF page size or a multi-label grid layout, examine the PDF before production use.
- For the other headers, make no changes. They behave the same way.
4. Validate the render output on real workloads
- Render a representative sample of the production ZPL, not only a "Hello World" label, through both Labelary and zpl.tools.
- Compare the two outputs visually: barcodes, fonts, and field positions.
- See the compatibility notes for the known differences between the two engines.
- If you use
X-Linter: Onfor warnings, confirm that the API reports the warning classes you use. See the Linting reference.
5. Update your error-handling code
- If your code matches on the exact response text, review the error reference. Most messages are close to Labelary's, but not all are identical.
- Add code for the zpl.tools JSON error envelope for
401,403, and429. Labelary has no equivalent. - Remove the backoff logic for the Labelary rate limits.
6. Change production traffic
- Change the traffic to zpl.tools, all at once or in stages.
- Monitor the error rates for the first batch of production traffic.
- Remove the Labelary integration when the new one is stable.
Help with your migration
For a higher-volume migration, zpl.tools offers a founder-led concierge migration. It includes free engineering time to map your integration, and a discounted first month while you validate. Contact us and mention the migration from Labelary.