🏷️ Price Tag & Barcode Maker

Turn a simple product list into a print-ready sheet of price tags with real barcodes β€” perfect for market stalls, craft fairs, and small shops. Entirely in your browser.

Create Printable Price Tags & Barcodes

πŸ“ Page & Label Grid

πŸ’° Currency & Sale Pricing

πŸ”– Barcode / QR Settings

Leave the SKU column blank on a row and a unique code will be generated automatically.

🧾 Product Rows

NamePriceQtySKU (optional)

⚑ Bulk Import (Dynamic Grid Mapping)

Paste one product per line: Name, Price, Qty, SKU (Qty and SKU are optional). This replaces the rows above and instantly re-maps onto the grid.

Calculating grid…

Page 1 of 1

Quick answer: Set your label size and page settings, then paste your product list (Name, Price, Qty, SKU) into the Bulk Import box or add rows manually, choose a theme and barcode type, and click Print / Save as PDF. This tool uses dynamic input-to-grid array mapping: your list is expanded into one entry per physical tag needed, then instantly placed onto a live-calculated grid that recalculates the moment you change label size, margins, or quantities - flowing automatically onto extra pages. Barcodes are generated locally with JsBarcode, and nothing is ever uploaded anywhere.

⚠️ Good to Know Before You Print

βœ‚οΈ Printing on Plain Paper vs Adhesive Sheets: If you're printing onto plain cardstock and cutting tags out yourself, keep "Show cut/alignment guides" turned on. If you're printing onto pre-cut adhesive label sheets, turn it off so no border ink lands on the sticker edges.

πŸ“ Measure Your Label Sheet First: Match the label size, margins, and gaps exactly to your label sheet's printed layout before printing a full batch - a quick test print on plain paper first is recommended.

πŸ“‘ Barcode Scanning: Codes are generated from your SKU field (or an auto-generated code if left blank) - make sure each product's SKU is unique if you rely on scanning for stock tracking.

βœ… Privacy: Your entire product list and any prices you enter are processed locally β€” never uploaded, transmitted, or stored anywhere.

πŸš€ Paste Your List, Watch It Map Instantly

The grid preview updates live as you type, add rows, or change label settings. Nothing ever leaves your device.

βœ… 100% Private: Your product list, prices, and barcodes are generated locally in your browser using JavaScript. No data is ever uploaded to a server or stored anywhere.

Note: Your product list will be cleared once your session ends or you clear/reset the app.


How to Create Printable Price Tags with Barcodes

1

Choose Label & Page Settings

Pick a label size preset or custom size, page size, margins, and gaps.

2

Add Your Products

Paste a bulk list or add rows manually - name, price, quantity, and optional SKU.

3

Pick Theme & Barcode Type

Choose a market-ready theme and enable Code128 barcodes or QR codes.

4

Print or Save as PDF

Your list is auto-mapped onto the grid and flows onto extra pages as needed.


πŸ”’ Your Product List Never Leaves Your Device

Most online label makers upload your product names and prices to a server to build a PDF. This tool expands and maps your list onto a printable grid entirely inside your browser tab, and generates barcodes locally too. There is no upload step, no server-side rendering, and no network request that contains your product data.

Common Uses for a Price Tag & Barcode Maker

🧺

Weekly Makers Markets

Print a fresh batch of price tags for handmade soaps, candles, jams, and crafts before each market day.

πŸ₯

Farmers' & Food Markets

Label produce, baked goods, and preserves with clear pricing and swing tags for hanging or tying.

πŸͺ

Small Retail Shops

Print scannable barcode price tags for stock without needing a dedicated point-of-sale label printer.

πŸŽͺ

Craft Fairs & Pop-Up Shops

Quickly relabel and reprice stock between different pop-up events with a fresh product list each time.

πŸ›οΈ

Seasonal Sales

Use was/now sale pricing with a SALE ribbon for clearance items or seasonal promotions.

πŸ“¦

Etsy & Online Sellers

Print consistent tags for in-person sales or fulfilment, pairing with a branded mailer sticker for packaging.


Why Use This Price Tag & Barcode Maker?

  • Dynamic Grid Mapping: Your list auto-expands and flows onto a live-calculated grid.
  • Real Scannable Barcodes: Code128 barcodes and QR codes generated locally with JsBarcode.
  • Bulk Paste Import: Add dozens of products in seconds with a simple CSV-style list.
  • Market-Ready Themes: Rustic Kraft, Bold Sale, Minimal Boutique, and Chalkboard styles.
  • Swing Tag Support: A hole-punch guide for string-tied craft and market tags.
  • Sale Pricing: Optional was/now pricing with a SALE ribbon for promotions.
  • Automatic Pagination: Large product lists flow onto as many pages as needed.
  • 100% Free & Private: No account, no watermark, no server storing your data.

Price Tag & Barcode Maker – Complete Guide

Weekly makers markets, farmers' markets, and craft fairs across the UK and Australia run on fast turnaround - sellers often need a fresh batch of price tags the night before a market day, sometimes with different stock and prices each week. Retyping or manually laying out tags in a design program for every market is slow and error-prone. This tool is built specifically to make that weekly cycle fast: paste your list, get a print-ready sheet.

What Is Dynamic Input-to-Grid Array Mapping?

This is the core technique behind the tool. Your product list is entered in a compact form - one row per product, with a quantity field saying how many physical tags that product needs. Behind the scenes, the tool expands that compact list into a flat array with one entry per physical tag (so "Honey Jar 250g, Β£6.00, qty 12" becomes twelve individual tag entries). That array is then mapped onto a grid whose column and row counts are recalculated live from your label width and height, page size, margins, and the gaps between labels. Because the mapping is recalculated on every change rather than being fixed, adjusting a quantity, switching label size, or tightening a margin instantly reflows every tag into its correct new position - including spilling extra tags onto additional pages automatically when they no longer fit on one sheet.

How This Generator Actually Works

As you edit rows or paste a bulk list, JavaScript rebuilds the flat tag array and recalculates the grid dimensions using your label and page measurements in millimetres. The preview sheet itself is sized using real CSS millimetre units, so the on-screen layout is dimensionally accurate to what will print - not an approximation. Each tag element is generated with your chosen theme, price formatting, and currency symbol, and if barcodes are enabled, the open-source JsBarcode library draws a genuine Code128 barcode onto a canvas element for that tag, encoding either your entered SKU or an automatically generated fallback code. When you click Print / Save as PDF, the browser's native print engine renders the real HTML content - including the barcode canvases - directly onto the page, and multiple pages are handled with standard CSS page-break rules so a long product list still prints cleanly across as many sheets as needed.

Dynamic Grid Mapping vs Manually Designing Each Tag

AspectDynamic Input-to-Grid Mapping (this tool)Manual Design in a Graphics Program
Speed for large batchesSeconds - paste a list, doneMinutes to hours of manual duplication
Updating quantitiesInstant re-flow across the whole gridManual copy/paste and repositioning
Changing label size laterGrid recalculates automaticallyOften requires rebuilding the layout
Barcode accuracyGenerated programmatically from real dataProne to copy/paste or typo errors

Label Size Guide for UK/AUS Market Sellers

SizeGood For
40 Γ— 25 mmSmall jars, soap bars, jewellery pieces
63.5 Γ— 38.1 mmStandard shelf-style product labels
70 Γ— 37 mmMedium product tags with more text room
70 Γ— 50.8 mmCraft and jewellery swing tags tied with string
90 Γ— 50 mmLarge gift tags or statement pricing displays

Security and Privacy Considerations

Browser Compatibility and Technical Requirements

This Price Tag & Barcode Maker works in modern browsers that support:

Supported Browsers:

Troubleshooting Common Issues

Problem: "Add at least one product before printing" message

Explanation: An empty product list has nothing to map onto the grid. Solution: Add at least one row with a name and quantity, or paste a bulk list, then try again.

Problem: My printed tags don't line up with my adhesive label sheet

Explanation: The label size, margin, or gap settings don't exactly match your physical sheet's layout. Solution: Measure your label sheet precisely (width, height, top/side margin, and gap between labels) and enter those exact millimetre values, then do a test print on plain paper first.

Problem: The barcode doesn't scan

Explanation: Very small label sizes can shrink the barcode below a reliably scannable width, or the SKU contains characters that don't encode cleanly. Solution: Use a larger label size where possible, and prefer short, uppercase alphanumeric SKUs.

Problem: A dashed border prints on my adhesive labels

Explanation: The on-screen cut/alignment guides were left enabled for a print run intended for pre-cut adhesive sheets. Solution: Turn off "Show cut/alignment guides" before printing directly onto label sheets.

Problem: The tool feels slow with a very large product list

Explanation: Generating hundreds of barcode canvases at once is CPU-intensive for the browser. Solution: This tool shows a friendly warning above roughly 300 total tags - consider splitting a very large list into two print batches for smoother performance.

Frequently Asked Technical Questions

Question 1: How exactly does the grid size get calculated?

Answer: Columns are calculated as the usable page width (page width minus left and right margins, plus one gap) divided by the label width plus the horizontal gap, rounded down; rows use the equivalent formula for height - the same approach used by physical label-sheet manufacturers to determine how many labels fit per page.

Question 2: How does a compact product row become multiple tags?

Answer: Each row's quantity field determines how many times that product's data is pushed into a flat "tags array" before mapping begins - a row with quantity 12 contributes twelve consecutive entries to that array, which are then distributed across grid cells in order.

Question 3: How are barcodes generated without a server?

Answer: This tool uses JsBarcode, an open-source JavaScript library that draws a real Code128 barcode directly onto an HTML canvas element based on the SKU text you provide - entirely within your browser, with no image or text ever sent anywhere.

Question 4: What happens if I leave the SKU field blank?

Answer: The tool generates a short, consistent fallback code derived from the product's name and price, so every tag always has a valid, scannable code even if you don't manage SKUs manually.

Question 5: How does automatic pagination work?

Answer: Once the grid's per-page capacity is known (columns Γ— rows), the total tags array is split into consecutive chunks of that size, and each chunk becomes its own full-page sheet in the DOM; standard CSS page-break rules ensure each sheet prints on its own physical page.

Question 6: Does this tool need an account, server, or API key?

Answer: No. CSS Grid, JsBarcode, QRCode.js, and window.print() all run as ordinary browser features and JavaScript already loaded by this page β€” you never need an account or any API key to use it.


Glossary of Terms

Dynamic Input-to-Grid Array Mapping
A technique that expands a compact list of items into an array with one entry per physical output needed, then places that array onto a grid whose dimensions are recalculated live from layout settings.
SKU
Stock Keeping Unit - a short code used to identify a specific product, often encoded into a barcode.
Code128 Barcode
A widely used, high-density linear barcode format capable of encoding letters, numbers, and symbols, commonly used for retail SKUs.
Swing Tag
A small price or branding tag attached to a product with string or a fastener, rather than adhered directly to packaging.
Label Grid Sheet
A single printable page laid out as a grid of individual labels or tags, sized to match label size, margins, and spacing between labels.

Frequently Asked Questions

Yes, completely free with no watermark, no signup, and no limit on how many price tags or label sheets you create and print.

No. Your entire product list, prices, and barcodes are generated and rendered entirely inside your browser using JavaScript. Nothing is transmitted over the network.

It's the technique behind this tool: your compact product list (name, price, quantity) is expanded into an array with one entry per physical tag needed, then that array is mapped onto a grid whose column and row count is recalculated live from your label size, page size, margins, and gutters - so the layout always updates instantly and flows onto extra pages automatically.

Yes. This tool generates real Code128 barcodes (or optional QR codes) using the open-source JsBarcode library, so a barcode scanner or phone camera can read the encoded SKU text just like a standard printed barcode.

Small jar or product labels commonly use around 40 x 25mm, standard shelf-style labels around 63.5 x 38.1mm, and craft or jewellery swing tags around 70 x 50.8mm. You can also enter a fully custom size.

Yes. Set your label size, page size, margins, and gutters to match your label sheet's layout, turn off the cut/alignment guides, and print - the grid mapping will align each tag to the correct position.

Yes. Each row has its own quantity field, and the tool automatically repeats that many tags for that product across the grid, in the order your rows appear.

Yes. Building your product list and previewing tags works on mobile, though printing a full label sheet is easiest from a desktop or laptop browser.

Final Thoughts

Market day comes around fast, and retyping price tags every week shouldn't eat into your prep time. This tool lets you paste a product list and get a scannable, print-ready label sheet in seconds, using dynamic grid mapping that adapts instantly to your label size and quantities - without your stock list ever leaving your device.

Add your products above and print your first price tag sheet!



βœ“ Done!