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
| Name | Price | Qty | SKU (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.
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.
- Cost: Free, unlimited tags and sheets, no signup.
- Where it runs: 100% in your browser β no upload, no server storage.
- Core tech: Dynamic input-to-grid array mapping β recalculates live as you type.
- Barcodes: Real, scannable Code128 barcodes or QR codes, generated locally.
- Page sizes: A4 (UK/AUS default) and US Letter.
- Not included: Physical die-cutting β see alert box below for cut-guide tips.
βοΈ 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
Choose Label & Page Settings
Pick a label size preset or custom size, page size, margins, and gaps.
Add Your Products
Paste a bulk list or add rows manually - name, price, quantity, and optional SKU.
Pick Theme & Barcode Type
Choose a market-ready theme and enable Code128 barcodes or QR codes.
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
| Aspect | Dynamic Input-to-Grid Mapping (this tool) | Manual Design in a Graphics Program |
|---|---|---|
| Speed for large batches | Seconds - paste a list, done | Minutes to hours of manual duplication |
| Updating quantities | Instant re-flow across the whole grid | Manual copy/paste and repositioning |
| Changing label size later | Grid recalculates automatically | Often requires rebuilding the layout |
| Barcode accuracy | Generated programmatically from real data | Prone to copy/paste or typo errors |
Label Size Guide for UK/AUS Market Sellers
| Size | Good For |
|---|---|
| 40 Γ 25 mm | Small jars, soap bars, jewellery pieces |
| 63.5 Γ 38.1 mm | Standard shelf-style product labels |
| 70 Γ 37 mm | Medium product tags with more text room |
| 70 Γ 50.8 mm | Craft and jewellery swing tags tied with string |
| 90 Γ 50 mm | Large gift tags or statement pricing displays |
Security and Privacy Considerations
- No Data Upload: Every product, price, and SKU you enter stays on your device.
- No Server Processing: Grid mapping, barcode generation, and printing all run entirely as client-side JavaScript.
- No Storage: Nothing about your product list is saved once you close or refresh the tab.
- No Account Needed: There is no login, tracking of your product data, or usage cap.
Browser Compatibility and Technical Requirements
This Price Tag & Barcode Maker works in modern browsers that support:
- CSS millimetre units and
@page: For dimensionally accurate label sizing and print output. - Canvas rendering (JsBarcode): For generating real, scannable barcodes locally.
- CSS Grid: For dynamically laying out labels based on calculated column and row counts.
window.print(): For the native Print / Save-as-PDF flow.
Supported Browsers:
- β Chrome/Edge 76+
- β Firefox 55+
- β Safari 13.1+
- β Mobile Chrome (Android), Mobile Safari (iOS) β building lists supported; printing best on desktop
Troubleshooting Common Issues
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.
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.
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.
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.
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!