I helped a friend set up her Shopify store last year — handmade candles, 6 scents, 3 sizes each. 18 variants. She had the products ready, the photography done, the Shopify theme looking great. But when she tried to list on Google Shopping and connect to a 3PL for fulfillment, both required barcodes. She had no idea where to start. This guide covers what I walked her through that weekend.
A quick note before we dive in: Shopify added a barcode field to the product editor years ago, and their Retail Barcode Labels feature now supports direct label printing from the Shopify POS app. But neither generates barcodes from scratch — they print labels for barcodes you already have. You still need to obtain the actual GTIN numbers yourself.
This is the only part that costs money, and there's no legitimate way around it. Go to gs1us.org (US) or your country's GS1 organization. Buy the smallest prefix that covers your product count. As of 2026, GS1 US charges about $250 for the 1-10 product tier with a $50 annual renewal. Processing takes 2-3 business days.
I've seen sellers try to skip this step by buying "used" UPCs from third-party sites for $5 each. Don't. Those UPCs belong to someone else's prefix. When a retailer or marketplace checks the GS1 database, you're not the registered owner. Your product listing gets flagged — and on Amazon, this can mean account suspension. Not worth saving $245.
Once you have your prefix, assign a unique product code to each variant. Keep a spreadsheet. For my friend's candles: prefix 012345, scent codes 01-06, size codes 01-03. So Lavender Small = 012345-0101, Lavender Medium = 012345-0102, etc. Combined with the check digit, these become your complete UPCs.
I recommend keeping a master SKU spreadsheet from day one. Columns: SKU, product name, variant, UPC, EAN, quantity per case. You'll reference this constantly — for purchase orders, inventory counts, and marketplace listings. Fixing a messy SKU system after you have 200 products is genuinely painful. I've done it.
Now use a barcode generator to turn each UPC number into an actual barcode image. GenBarcode auto-detects 12-digit UPC input and generates print-ready PNGs at 300 DPI with correct quiet zones. You can batch-download SVGs for all your products if you need professional label printing.
For Shopify specifically: download PNG at 1024×400px. This resolution prints clearly on standard 4×6 shipping labels and label sheets. If you're using a thermal label printer (Zebra, Rollo, Dymo), SVG will give you the sharpest output because thermal printers handle vector graphics natively.
In your Shopify admin: Products → select a product → scroll to Inventory section → enter the barcode in the "Barcode (ISBN, UPC, GTIN)" field. Do this per variant, not just the parent product. Bulk edit via CSV export/import if you have many products.
Shopify uses this barcode for: inventory tracking, POS scanning, Google Shopping feed, and 3PL integration. If the field is empty, your 3PL will generate their own internal barcode for your products — and their system probably won't match yours when you switch providers or expand.
Per Shopify's own documentation, the barcode field is also required for in-store POS checkout. If a product lacks a barcode, your retail staff has to manually search for it — which, from my warehouse experience, adds about 8-12 seconds per transaction. Over a busy Saturday, that adds up.
Print one sheet. Scan every barcode. Verify the product name that appears in your POS or scanning app matches what you expect. I have personally caught three wrong barcodes on a single sheet before — wrong check digit, wrong variant mapping, and one barcode that somehow encoded the SKU instead of the UPC. Each would have been a scanning failure on a customer's purchase.