Skip to content

DHL API labels with ZPL

DHL's shipping APIs can return labels as ZPL encoded in Base64. Decode them, preview the label and catch problems before they reach the printer.

Your label

Preview

100%

How it fits

Ask for ZPL in your request's output settings, then decode the Base64 and open the label.

Example

const zpl = Buffer.from(document.content, "base64").toString("utf8");

Setting it up

Design the label in the designer with {{variables}}, save it, and copy its ID from the dashboard. Create an API key, then send your data to POST /v1/templates/{id}. The API docs have the details.

Questions

Which dpi should I render at?

The one the label was generated for, usually 203 or 300 dpi. A mismatch makes it the wrong size.

Do I need to install anything?

Not to render labels: it's an HTTP API. To send them to a printer on your network, run the [print agent](/print-agent/) next to it.

What does it cost?

A free key allows 20 labels a day. Pro is $29 a month for 100,000 labels, and Business $99 for 1,000,000. See [pricing](/pricing/).

Related

Need something we don't have yet?

A connector for your system, a label format or a new tool: tell us what you use and we'll look at building it.

Request a tool or integration
Feedback