EN
Sign up

Template library

Shipping address label PDF templates

Prepare PDF labels with sender, recipient, and order references. Set your print size and connect address data to a reusable layout.

01design available
06categories

1 template

Identify every package

Addresses and references that stay readable in print

Prepare the information that identifies your package and check the output at the label size you intend to use.

Sender and recipient

Separate names, street addresses, cities, postal codes, and countries. Test long addresses and several address lines before publishing.

Size and margins

Match the page size to your label stock. Print a test at actual size and check that nothing is clipped.

References and codes

Add the order number and a barcode or QR code when needed. Check that its value and format match your system.

Package details

Include internal references, weight, or a package number when your workflow needs them. Obtain tracking codes and postage from your carrier.

From address record to PDF label

  1. Copy a label

    Open the design and save a copy into your project. Check its page size.

  2. Connect and test

    Bind addresses and references to your fields and test code readability on a printed label.

  3. Publish and generate

    Publish your copy and generate a label per package from the app or the API. Use your carrier’s process for postage.

Your data, your layout

Example data for an address label

The example includes a sender, a recipient, and an internal shipment reference. Its code identifies the package in this example; it is not a carrier-issued tracking number.

The shipment fields are illustrative: each design may use a different schema. Match the names to “Schema & default data” in your copy and replace template_id with your published template’s ID.

Download shipping-label-request.json Understand data field bindings
shipping-label-request.json
{
  "template_id": "YOUR_PUBLISHED_TEMPLATE_ID",
  "expiry_minutes": 60,
  "data": {
    "shipment": {
      "reference": "SHP-2048",
      "order_number": "ORD-2048",
      "sender": {
        "name": "Northstar Store",
        "address": "10 Example Avenue",
        "city": "Seattle",
        "postal_code": "98101",
        "country": "US"
      },
      "recipient": {
        "name": "Alex Morgan",
        "address": "18 Example Street",
        "city": "Portland",
        "postal_code": "97201",
        "country": "US"
      },
      "package": {
        "weight_kg": 1.2,
        "number": 1,
        "total_packages": 1
      },
      "barcode_value": "SHP-2048",
      "handling_note": "Keep dry"
    }
  }
}

From template to PDF

Generate an address label with the API

Save the file as shipping-label-request.json, replace the template ID, and adapt its data. Create an API token with documents:create and documents:read and access to that template. Run these commands from your terminal or server.

1. Submit the shipment data

POST /v1/documents
export SHIPPDF_API_TOKEN='YOUR_API_TOKEN'

curl --fail-with-body https://api.shippdf.com/v1/documents \
  -H "Authorization: Bearer $SHIPPDF_API_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: label-SHP-2048" \
  --data-binary @shipping-label-request.json

A successful request uses one generation credit and returns HTTP 202 with a queued document. Keep the token out of browser code. Reuse the idempotency key only when retrying the same request; use a new one for a different document.

Example response · HTTP 202{"id":"doc_example","status":"queued","pdf_url":null}

2. Check the document and open the PDF

GET /v1/documents/{document_id}
export SHIPPDF_DOCUMENT_ID='YOUR_RETURNED_DOCUMENT_ID'

curl --fail-with-body \
  "https://api.shippdf.com/v1/documents/$SHIPPDF_DOCUMENT_ID" \
  -H "Authorization: Bearer $SHIPPDF_API_TOKEN"

Use the actual ID from your response. If the status is queued or processing, wait before checking again. When it is completed, open the returned pdf_url. If it is failed, inspect failure before generating again.

Example response when complete{"id":"doc_example","status":"completed","expiry_minutes":60,"pdf_url":"https://…/document.pdf"}

The example sets expiry_minutes: 60 for one-hour download links. Read the same document again to get a fresh link without generating another PDF.

Shipping label questions

Do these labels purchase postage?

No. ShipPDF generates the document from your data. Purchase postage and obtain official labels or codes through your carrier or shipping provider.

Can I change the label size?

Yes. Adjust the page size in the editor and review the margins. Print a test at actual size on the printer you intend to use.

Can I add barcodes or QR codes?

Yes. Bind the code’s value to your data and check its format, size, and readability. A generated code does not create a shipment or tracking record by itself.

Does the label replace a packing slip?

The label identifies the package and its address. A packing slip details the items and quantities inside; you can generate both with separate templates.

Prepare the rest of the shipment

Prepare your next address label

Choose a design and test it with your addresses and printer.

Back to shipping labels
← Explore all templates