Useful Tools

How-to guide

How to print price tags from Shopify (with or without barcodes)

Price tags are labels with money on them: which formats fit jewelry, apparel and shelves, how to show sale prices with the original crossed out, and how to keep printed prices honest.

By Bastien HugonFounder & Engineer8 min readPublished July 9, 2026

TL;DR

Price tags print exactly like barcode labels — true-size PDF, 100% scale — with the price pulled from the variant so paper never disagrees with the register. Formats: Avery 5160 for shelf and box tags, small-format sheets or Dymo/Zebra rolls for jewelry-style tags, with the barcode optional on each. For sales, print the compare-at price struck through next to the current price instead of re-stickering by hand.

A price tag is a promise: whatever the sticker says is what the register should charge. The failure mode is drift — a price changes in Shopify, the shelf keeps the old sticker, and the argument happens at checkout. Printing tags *from* Shopify (variant price as the single source) rather than typing them into a label designer is the whole discipline; the rest is formats and layout.

With or without a barcode?

Tag styleContainsRight when
Price + barcodeCode 128/UPC, title, priceDefault for POS stores — scan to ring up, price visible to the customer
Price onlyTitle + price, big typeShelf-edge tags, markets without scanning, price-first merchandising
Barcode onlyCode + SKUStockroom labels where customers never look — that guide

If the store runs Shopify POS, the combined tag wins: one sticker serves the customer (price) and the cashier (scan). Everything about making the barcode half scannable — size, quiet zones, contrast — is in the six-fix guide; this page focuses on the money half.

Formats by retail context

  • Shelves, boxes, general retail: Avery 5160 (2.625\u2033 \u00d7 1\u2033) — price at readable size plus a scannable code, 30 per sheet.
  • Apparel: 5160 stickers on poly bags, or roll labels applied to hang-tag cards. Direct stickers on fabric: no — adhesive residue.
  • Jewelry: purpose-cut barbell/dumbbell labels on Dymo or Zebra rolls — the tail wraps the ring, the flag carries the price and a short code. Sheet formats this small (5167-class) work but scan reluctantly.
  • Window/shelf display cards: Avery 5163 (4\u2033 \u00d7 2\u2033) — price in display type with room for details.

Sale pricing: the compare-at strikethrough

Shopify already models sales correctly: price is what you charge, compare-at price the reference it is discounted from. A good price tag mirrors that — current price prominent, compare-at struck through beside it — so a markdown means reprinting a sticker, not maintaining a parallel price list. Two honesty rules worth keeping: only show a strikethrough when compare-at is genuinely higher than price, and reprint affected tags the same day the price changes in admin.

Reference-price rules exist in most jurisdictions: the crossed-out price generally must be a price actually charged recently. Shopify's compare-at field enforces nothing — the tag prints whatever the field holds, so the compliance discipline lives in how you set compare-at, not in the printing.

Step by step

  1. 01

    Fix prices in Shopify first

    Variant price and compare-at price are the source of truth. Never type a price into a label tool by hand — that is how drift starts.

  2. 02

    Pick the format for the context

    5160 for general retail, rolls for jewelry, 5163 for display cards (table above). One format per print run.

  3. 03

    Choose the tag layout

    Title + price, with or without barcode, compare-at strikethrough on sale items. Localized currency formatting matters: 12,90 € reads wrong as $12.90.

  4. 04

    Set quantities per variant

    Tags follow physical stock: 8 rings on the tray = 8 tags. Quantities starting at zero make a markdown run print only the products whose price moved.

  5. 05

    Print at 100% and check one tag

    True-size PDF, actual-size print. Verify the price against the admin and — if the tag carries a barcode — scan it once before running the batch.

Doing this with Solvi Barcode Labels

Solvi Barcode Labels prints price tags from the same presets as its barcode labels: price and compare-at come straight from the variant, the strikethrough renders automatically when compare-at is set, and currency formatting follows your store locale (12,90 € / $12.90 / ¥1290). Preview is the exact PDF, so the tag you approve is the tag on the shelf.

Frequently asked questions

Can Shopify print price tags natively?

No — the admin prints order documents, not product labels or tags. Price tags come from a label app or a hand-maintained document; the app route keeps the printed price tied to the variant price instead of a copy that goes stale.

How do I print a sale price with the original crossed out?

Set the variant's compare-at price in Shopify (the original) and keep price as the sale price — the same fields that power the storefront's strikethrough. A label app that reads compare-at renders the crossed-out reference automatically; when the sale ends, clear compare-at and reprint.

What size are jewelry price tags?

The standard is a barbell (dumbbell) label roughly 2.2″ × 0.4″ overall: two adhesive tails wrap the ring or chain and a small flag carries the price and code. They come as die-cut rolls for Dymo/Zebra printers; flat sheet labels that small exist but are fiddly to apply and hard to scan.

Should the price be on the barcode label or separate?

For POS retail, combined — one sticker, price for the human, barcode for the register, and they can never disagree. Separate price-only tags make sense for shelf-edge pricing where the product itself carries the barcode, or where prices change faster than stock turns.

Related guides

Do this in minutes with Solvi Barcode Labels

Print barcode labels right the first time: unique codes, true-size sheets, ready in minutes.