Make Tutorial

Automate Barcode Label Generation with Make

New products arrive, barcode labels print. No manual data entry, no design software, no copy-pasting SKUs.

The problem

Every product in your warehouse needs a barcode. New shipment comes in with 50 items? Someone has to manually create 50 labels — open design software, type in each SKU, generate each barcode, print them one by one.

Or worse, you're copy-pasting product codes from a spreadsheet into a barcode generator website, downloading each image, arranging them in a document, and hoping you didn't make a typo that'll cause inventory chaos later.

We're going to automate this. You'll connect your inventory data to Make, and barcode label sheets will generate automatically whenever new products need labeling.

1

Understand the template

1.1 — The barcode sheet layout

The template generates a full A4 sheet of barcodes in a grid layout. Each cell contains:

  • A scannable barcode (Code 128 by default)
  • Human-readable text below the barcode
  • Optional product name or SKU label

I'll use the Barcode Sheet for Inventory template. You can also customize it or build one from scratch.

Barcode sheet template in the visual editor showing a grid of barcodes with dynamic fields

Try it first: Free barcode sheet generator — paste your data and see the output before automating.

1.2 — Required fields

The template expects a JSON payload with an items array. Each item becomes one barcode label.

{
"items": [
{
"barcode_value": "SKU-001-BLK-M",
"product_name": "T-Shirt Black Medium",
"price": "$29.99"
},
{
"barcode_value": "SKU-002-WHT-L",
"product_name": "T-Shirt White Large",
"price": "$29.99"
}
]
}

Tip: The barcode_value is what gets encoded into the barcode. Keep it short and unique — SKUs, product IDs, or serial numbers work well.

1.3 — Barcode types supported

Choose the barcode format that matches your scanning equipment and use case:

FormatBest forCharacters
Code 128General inventory, shippingAll ASCII characters
EAN-13Retail products (international)13 digits
UPC-ARetail products (North America)12 digits
Code 39Legacy systems, automotiveAlphanumeric + special

In the template: Use {{barcode:barcode_value}} for Code 128 (default), or specify format like {{barcode:barcode_value:ean13}}.

To change barcode settings, click on any barcode in the template editor. The properties panel shows format, value, and display options:

Template editor showing barcode properties panel - click any barcode to change its Value, Format (Code 128), and Show text options
2

Prepare your data source

2.1 — Structure your inventory data

Your data source needs columns that map to the template fields. Here's a simple Google Sheets structure:

SKUProduct NamePriceNeeds Labels
SKU-001-BLK-MT-Shirt Black Medium$29.99TRUE
SKU-002-WHT-LT-Shirt White Large$29.99TRUE
SKU-003-BLU-ST-Shirt Blue Small$29.99FALSE

The Needs Labels column is optional but useful — you can filter on it to only generate labels for new products.

2.2 — Common data sources

Make connects to hundreds of apps. Here are the most common for inventory workflows:

Google Sheets

Simple inventory tracking. Trigger: "Watch Rows" to detect new products.

Airtable

Product catalog with rich fields. Trigger: "Watch Records" with filter on status field.

Shopify

E-commerce products. Trigger: "New Product" when items are added to your store.

Webhook

Custom integration. Your ERP, WMS, or custom system sends product data directly.

3

Build the Make scenario

3.1 — Set up the trigger

I'll use Google Sheets for this example. The same approach works with any data source.

  1. Go to make.com and create a new scenario
  2. Add Google SheetsWatch Rows
  3. Connect your Google account and select your inventory spreadsheet
  4. Set to watch for new rows (or use "Search Rows" with a schedule for batch processing)

Tip: For batch processing, use a scheduled trigger (e.g., daily at 8am) combined with a filter on "Needs Labels = TRUE". After generating labels, update the column to FALSE so you don't regenerate them.

3.2 — Use Iterator for bulk processing

To generate labels for multiple products in one sheet, you have two options:

Option A: One sheet per batch

Collect multiple rows with an Aggregator, then send the entire array to TemplateFox. The template generates one PDF with all labels.

Option B: One sheet per product

Use an Iterator to process each product separately. Generates multiple PDFs, one per product.

Option A is usually what you want — 50 products on one printable sheet is more efficient than 50 separate PDFs.

Scenario flow:
Google Sheets → Array Aggregator → HTTP (TemplateFox) → Email/Print

3.3 — Generate the PDF

Add an HTTP module to call the TemplateFox API:

  1. Add HTTPMake a request
  2. URL: https://api.pdftemplateapi.com/v1/pdf
  3. Method: POST
  4. Headers: x-api-key: your_api_key and Content-Type: application/json
  5. Body: Map your spreadsheet columns to template fields
View example request body
{
"template_id": "bf466686-77a3-4838-a43d-73bb837f659e",
"data": {
"items": {{aggregated_array}}
}
}
Barcode sheet preview showing a rendered grid of barcodes with the JSON data panel on the right

The response includes a pdf_url — use this in the next step to email, print, or save the labels.

Common use cases

Warehouse receiving

New shipment arrives, scan the packing list, labels print automatically for all items.

New product onboarding

Add a product to your catalog, labels generate for inventory tagging.

Inventory audits

Generate replacement labels for damaged or missing tags during cycle counts.

Retail price updates

Price change? Generate new labels with updated prices for affected products.

Related

Frequently asked questions

What barcode format should I use?

Code 128 works for most purposes — it's compact and supports alphanumeric characters. Use EAN-13 for retail products that need GTIN codes, UPC-A for North American retail, or Code 39 for legacy systems. The template supports all common formats.

How many labels fit on one sheet?

The default template generates 24 labels per A4 sheet in a 4x6 grid. You can adjust the grid density by modifying the template. Print on standard label sheets (like Avery 5160) or plain paper and cut.

Can I add my company logo to the labels?

Yes. Open the template in the editor and add an image element with your logo URL. Position it where you want — typically in a header area or corner of each label.

What about different label paper sizes?

The default is A4, but you can use US Letter or custom sizes. Adjust the template page settings and grid layout to match your label sheet specifications.

Can I generate labels for specific products only?

Yes. Add a Filter module after your data source trigger in Make. Filter by criteria like 'created today', 'category = electronics', or 'needs_labels = true'. Only matching products will trigger label generation.

How do I print the labels directly?

Add Ezeep or PrintNode as the final module in your scenario. The barcode sheet prints automatically at your designated printer — no manual downloading needed.

Does it support QR codes too?

Yes. Use {{qrcode:value}} instead of {{barcode:value}} in your template. QR codes can store more data and are useful for URLs or detailed product info. See our QR code sheet template.

Automate your PDF generation

Complete documentation, no-code integrations, and a powerful API to help you generate PDFs at scale. Let us handle the boring stuff.