How the batch works
The batch tool reads a CSV file (comma- or semicolon-separated text with a header line). Each row becomes one label design. Whatever a row leaves empty is taken from the form under the upload box — so you type the manufacturer, the EU responsible person, the warnings and the label size once, and the CSV only needs what changes per SKU.
Everything happens in your browser: the CSV is not uploaded. The free version makes up to 3 SKUs per batch so you can test your file; Pro goes up to 1000 SKUs.
Step 1 — start from the template
Download the CSV template and open it in Excel, WPS or Google Sheets. Keep the first line (the header). Delete the sample rows and add your SKUs. You can delete columns you don't need — only the header names matter, not their order.
The minimum useful file has four columns:
sku,product_name,model,batch MUG-350,Ceramic coffee mug 350 ml,CM-350,LOT2611-A LAMP-200,LED desk lamp,DL-200,B2026-11
Step 2 — the columns the tool reads
Header names are not case-sensitive, and spaces, dashes and underscores are ignored (Product Name = product_name). Common alternative names are accepted too:
| Column | Also accepted | What it does |
|---|---|---|
sku | seller_sku, item_sku, asin, artikelnummer | Names the per-SKU files in the ZIP |
product_name | product, name, title, item_name | Product line on the label |
model | model_number, type, type_number | Type / model |
batch | lot, batch_number, lot_number, charge | Batch / lot number |
serial | serial_number, sn | Serial number |
ean | gtin, upc, barcode | Printed as text |
copies | qty, quantity, labels, pcs | How many copies of this label (1–1000) |
warnings | warning_codes, phrases | Warning codes for this SKU, e.g. manual|hot |
languages | langs, language | Language codes for this SKU, e.g. en|de|fr |
qr_url | qr, url, manual_url | QR code link (e.g. the online manual) |
manufacturer_name, _address, _contact | manufacturer_email, manufacturer_website | Overrides the form for this SKU |
rp_name, rp_address, rp_contact | responsible_person, eu_rp, ec_rep, rp_email | EU responsible person for this SKU |
importer_name, _address, _contact | importer, importer_email | Importer for this SKU |
extra_text | extra, note, text | One extra line, e.g. “Contains: 12 blocks” |
Columns the tool doesn't know are listed after you load the file and ignored — nothing breaks.
Step 3 — warning and language codes
Separate several codes with |, ;, a comma inside quotes, or a space. Unknown codes are skipped.
Warning codes: small03 (not for children under 3 — small parts), adult (adult supervision), reach (keep out of reach of children), bag (plastic packaging — suffocation), manual (read the instructions), fire (keep away from fire and heat), battery, weee (not household waste), indoor, water (keep dry), hot (surface may become hot), external (external use only), assembly (adult assembly required), nottoy (not a toy).
Language codes: en, de, fr, it, es, nl, pl, sv, cs, sk, sl, hr, hu, ro, bg, el, pt, da, fi, et, lv, lt. Leave the column empty to use the languages chosen in the form.
Step 4 — save as CSV UTF-8
- Excel (Windows): File → Save As → CSV UTF-8 (Comma delimited) (*.csv). Plain “CSV (Comma delimited)” saves in the local code page and turns ä, é, ß or Chinese characters into question marks.
- Excel (Mac): File → Save As → CSV UTF-8.
- Google Sheets: File → Download → Comma-separated values (.csv) — always UTF-8.
- WPS: choose CSV and, if offered, UTF-8 encoding.
Excel in Germany, France and other countries saves with semicolons; the tool detects the separator by itself. You can also paste rows straight from the spreadsheet into the text box — include the header line.
Step 5 — check the summary, then make the ZIP
After loading, the tool shows how many SKUs and labels it found and which columns it used. Check the preview of the first SKU, choose what goes in the ZIP and download:
labels-all.pdf— every label and copy in one file, one label per page, ready for a thermal printer (on label sheets:labels-all-sheets.pdf).pdf/andpng/— one file per SKU, if you tick them (PNG is handy for listing images).listing-text.csv— the Article 19 text block for every SKU, ready to paste into your listings.
When something goes wrong
- “No known column names found” — the first line is not a header, or the file was saved as Excel (.xlsx). Save as CSV.
- Strange characters (ä, ?) — the file isn't UTF-8. Save again as CSV UTF-8.
- Fewer SKUs than rows — rows without product name, model, SKU and batch are skipped as empty.
- Addresses broken across columns — an address with commas must be in quotes. Spreadsheets add the quotes for you when you save; only hand-written CSV files need care.
- Text too small — long names in many languages on a 50 × 30 mm label. Use fewer languages per SKU (
languagescolumn) or a larger size.
Try it now
Single labels are free in every thermal size, as PDF or PNG, with no sign-up and nothing uploaded.
Frequently asked questions
Can each SKU have a different EU responsible person?
Yes. Fill rp_name, rp_address and rp_contact in the rows that differ; rows left empty use the form.
How many labels can one batch make?
Free: 3 SKUs per batch. Pro: up to 1000 SKUs per batch, each with up to 1000 copies. Very large PDFs depend on your computer's memory — split a huge list into several batches.
Is my product list uploaded?
No. The CSV is read by JavaScript in your browser and the ZIP is built there.
General information, not legal advice. Laws and marketplace rules change: check the official text and your marketplace's current help pages before you rely on this page. Last reviewed 2026-11-08. Spotted a mistake? Tell us.