SPREADSHEET PRINTING GUIDE
Print Product & Price Labels from Excel or CSV
To print product labels from Excel, create a reusable label design, save it, and import your product workbook. Map product names, variants, SKUs and prices to the design, then generate a PDF with one label page per product row.
For small shops and makers: use the same artwork across a candle collection, handmade goods or a changing price list. PrintPiper accepts XLSX, XLS, CSV and TSV. Combine text, barcodes and QR codes in one design, then generate PDF, PNG or TIFF. Prices and product identifiers must be supplied by you.
See the PDF, then try your own spreadsheet
Download the fictional sample without signing in. To make your own batch, sign in, save a template, import Excel or CSV, connect columns and export PDF. Free includes 10 records per export.

Prepare one spreadsheet row per printed label
Give every column a unique header. Keep Item, Variant, ItemCode and Price separate so each can use a different font size or position. Store product codes as text when leading zeroes matter. In Excel, format prices exactly as you want them printed, recalculate any formulas and save before importing.
PrintPiper reads saved Excel display values. For CSV, include the currency symbol and decimal places in the value itself, such as $12.00. A Quantity column does not repeat labels automatically: duplicate the row for each copy you need.
Match the label to your actual stock
The example below uses individual 50 × 30 mm labels. Choose paper that your printer supports at that size, with margins matching its non-printable edges. For pre-cut address sheets, use the Avery 5160 / 8160 workflow instead. For several custom labels on A4 or Letter, keep the finished label size in Frame, choose the paper size in Page, and select Grid sheet in Layout. Rows and columns auto-fit the printable area without resizing your labels.
Upload a clean PDF or image design with space for changing information. Keeping the brand in the artwork and variables in text fields lets you reuse the design with a new stock list. Any label content required for your products must be supplied by you.
A five-record example you can reproduce
All names, businesses and records in this example are fictional. Five records fit within the Free plan’s 10-record export allowance. Sign in and save this as your active template before importing the data.
1. Create the design
Choose New template. Set the Frame to 50 × 30 mm and the Page to 54 × 34 mm at 300 DPI, with 2 mm printer margins on each edge. Choose one sheet, centered alignment, zero padding, bleed and crop marks off. Under Template artwork, click Choose image or PDF, add the blank artwork above, and choose Fit inside. Print on matching paper at 100%; the frame is placed 1:1, never scaled.
Text field positions and styling
Static wording is part of the deterministic artwork. Variable fields each hold exactly one variable; positions are measured from the upper-left of the Frame. Use transparent background, dark green text (#193b31), and Shrink text to fit. Preset is optional and under the editor's Preset control.
| Field / variable | X / Y (mm) | W × H (mm) | Type |
|---|---|---|---|
| Product {{ProductName}} | 4 / 9 | 42 × 5 | 10 pt bold, left |
| Variant {{Variant}} | 4 / 15 | 42 × 4 | 6 pt, left |
| SKU {{SKU}} | 12 / 23 | 16 × 3 | 5.5 pt, left |
| Price {{Price}} | 30 / 22 | 16 × 5 | 10 pt bold, right |
Download full template settings for reference. Recreate these settings in the editor; template JSON is not an app import format.
2. Save, import and connect columns
Click Save template. In the right panel, choose Import CSV / Excel and select the example CSV. Under Connect columns, use the mapping below. Matching names connect automatically; the other connections are manual.
| Variable | Column | First value |
|---|---|---|
| {{ProductName}} | Item | Cedar Candle |
| {{Variant}} | Variant | Amber glass · 120 g |
| {{SKU}} | ItemCode | 00041 |
| {{Price}} | Price | $12.00 |
Download the mapping reference. Connections apply to this batch and are not saved in the template.
3. Preview, generate and download
Select the first row, then the fifth row to check the longer values. Choose Print-ready PDF and rows 1–5, click Generate files, and wait for completion before clicking Download. The result is five pages, one for each record.

4. Test on the matching paper
Print at Actual size / 100%, with printer paper matching 54 × 34 mm. Measure one test print before using your final stock. This example uses one centered design per page; it does not arrange several product labels on a larger sheet.
Add barcodes or QR codes from your columns
In Edit template, choose Add barcode or Add QR code, then assign one Variable to the field. Pick the barcode Format or QR Error correction and set its width, height and position. A text field and a code field can share the same variable; connect its data column once after saving.
Code 128 accepts nonempty printable ASCII, such as SKU-00123. Use QR for Unicode, including Chinese text and links. EAN-13, EAN-8, UPC-A and UPC-E accept digits: missing check digits are calculated, but incorrect complete check digits are rejected. UPC-E supports number systems 0 and 1. QR offers L, M, Q and H error correction.
An unassigned field prints nothing. An assigned code variable with an empty cell is invalid. Export stops before writing files if a selected value is invalid or its symbol cannot fit, including its quiet zone. Keep space around every symbol and scan a physical test print at Actual size / 100%. This is not GS1 allocation or print-quality certification.
Try the two-record barcode CSV or inspect the generated two-page PDF. For a full step-by-step batch, read the barcode label guide. The fictional numbers are test data, not identifiers allocated to your products. This is a separate six-code layout, not the 50 × 30 mm product example above.
Recreate the six-code sample
Use a blank Frame of 100 × 120 mm, Page of 104 × 124 mm at 150 DPI, 2 mm printer margins on every edge, One sheet and center alignment. Set padding and bleed to 0 and crop marks off. Keep readable barcode text on and QR error correction at M. Coordinates below are relative to Frame. Save before importing; the six same-name columns connect automatically.
| Variable | Type | X / Y | Width / Height |
|---|---|---|---|
| SKU | Code 128 | 5.17 / 3.23 | 89.37 / 16.19 |
| EAN13 | EAN-13 | 5.17 / 22.23 | 89.37 / 16.19 |
| EAN8 | EAN-8 | 5.17 / 41.23 | 89.37 / 16.19 |
| UPCA | UPC-A | 5.17 / 60.23 | 89.37 / 16.19 |
| UPCE | UPC-E | 5.17 / 79.23 | 89.37 / 16.19 |
| Link | QR | 5.17 / 98.23 | 17.37 / 17.19 |
Download reference settings JSON. Recreate these settings in the editor; JSON is not an app import format. Keep your CSV rows and connections in the batch, not in saved template settings.

Product label questions
Can I use my own brand artwork?
Yes. Add a PDF, PNG, JPEG, WebP or TIFF as the template background. The same artwork repeats for every row; spreadsheet columns supply variable text. The sample Paper & Pine name is fictional.
Why did an SKU or price change?
Check the source first. CSV keeps existing zeroes; Excel imports display formatting. If your spreadsheet already removed digits, restore them there. Format currency in the workbook, or put the exact price text in CSV.
How do I fit a longer product name?
Select the longest record in the preview. Make the field taller or wider, reduce the font size, or enable Shrink text to fit. Save template changes before generating another batch.
Can I print barcode labels on a thermal printer?
Yes, barcode and QR fields render into PDF, PNG and TIFF alongside your text and artwork. PrintPiper does not produce ZPL commands, assign GS1 identifiers or purchase postage. Print through a compatible printer driver and test the exact size, stock and scanner before a full run.
For workbook selection and formula handling, follow the Excel import guide. For quoting and header preparation, use the CSV printing guide.