Print Barcode Labels for WooCommerce Products
Print labels for products, orders, users and promocodes

  • Print barcode labels for products, categories, orders, forms, etc.
  • Support of all printer types - Roll/Thermal, A4, Letter, P4 and any others.
  • Add any WooCommerce fields and attributes on labels.
Managing an extensive inventory with hundreds or thousands of products can be complicated and time-consuming task, often leading to errors such as incorrect shipments. This plugin offers a sophisticated solution to enhance operational efficiency by utilizing barcode labels for products and orders.

These barcode labels can be seamlessly scanned using a barcode scanner or a mobile application, simplifying the management process. Once a barcode label is affixed to a product or order, there is no longer a need to memorize details about the item. Simply scan the label using a scanner or mobile application, and all product or order information will be easly available.

Main features:

  • Full integration with WooCommerce, supporting product variations, attributes, and custom fields
  • Flexibility to generate labels based on products, categories, orders, users, promocodes or manually
  • Supported barcodes: GS1 family, GTIN, UPC-A/E, EAN-13/8, QRCode, CODE128, Data Matrix, CODE39, etc.
  • Compatibility of all barcodes with scanners or mobile apps across iOS, Android, and Windows platforms
  • Capability to add additional data on labels such as Name, Price, SKU/UPC/EAN, static texts and more
  • Support for various printer types including A4, Letter, P4 and Roll/Thermal printers
  • Support a commonly used label sheets and the option to create custom label sheet layouts
  • Feature to produce barcodes corresponding to "Stock quantity".
  • Possibility to design personalized labels with specific layouts, texts, and images (Business & Premium plans)
  • Ability to include multiple barcodes on a single label (Business & Premium plans)
  • Integration support for plugins such as "Contact Form 7", "Flamingo", ATUM and others.
  • "Tiered Price Table" support in the custom label template editor (Business & Premium plans)
  • API: API support for integration with third-party plugins and custom solutions available (Premium plan)
This plugin is expertly designed to make inventory management smoother and more reliable, enabling businesses to focus on growth and customer satisfaction.

Supported printers

By default plugin supports next printers:

  • Letter printers (8.5 × 11.0 in)
  • A4 printers (210 × 297 mm)
  • P4 printers (8.5×11.0in / 215×280mm)
  • Roll / Thermal printers from leading brands such as DYMO, Zebra, Brother, Arkscan, MFLABEL, ROLLO, BCL, TEROW and others
The plugin's design boasts remarkable flexibility, accommodating 99.9% of printers available in the market. For those utilizing rare or less common printer types, the plugin allows for the customization of paper or label sizes, ensuring readiness for any printing requirement.

For new purchasers still selecting a printer, we recommend DYMO 450 printers for their superior compatibility with browsers, excellent print quality, and ease of use. Additionally, ensure to select the appropriate labels size to meet your needs.

Support Note: Should any issues arise during printer configuration, assistance is readily available across all subscription plans. Our technicians can provide help via remote access tools such as TeamViewer, AnyDesk, or other screen-sharing software, to facilitate troubleshooting and ensure smooth operation.

«Basic» label template

The "Basic" label template serves as the foundational element of the plugin. It facilitates the creation of a variety of label designs incorporating both barcodes and text elements. With "Basic" template you can achieve the most common label layouts. A few examples of how labels may look like with using "Basic" label template:
Label appearance will vary based on the barcode type used and the quantity of text you wish to have on the label. The "Basic" template supports the addition of up to four lines of text. These lines can include any product details such as product name, price, SKU, color, size, order id, address or other relevant fields. For those who require additional lines of text/data or seeking more sophisticated label designs, the use of "Custom Label Template" is recommended. "Custom Label Template" gives greater flexibility and customization to meet specific labeling needs.

Custom label templates for Business & Premium clients

The plugin offers the capability to craft highly personalized labels that align with your store's branding or to develop complex label designs. This customization is achievable through the "Label Template Editor" available within the plugin. This editor enables the addition of various design elements including your shop logo, diverse text options, and an unlimited number of product custom fields and attributes to your labels.

For those subscribed to the Premium plan, support is included for the development of these customized labels. We encourage you to contact us to discuss your specific label requirements, and we will assist you in creating a label that perfectly fits your needs.

The Business plan also includes the Template Editor, which empowers your web-developers to craft custom labels using the provided documentation. Initially, the plugin is equipped with five custom templates, but you have the flexibility to create an unlimited number of additional templates.
  • "Example 1 - Barcode + Logo" demonstrates a label featuring a static image and text
  • "Example 2 - QRCode" shows a label with a QR Code
  • "Example 3 - QRCode + Product Image" displays a label that combines a product image with a QR Code
  • "Example 4 - Vertical Barcode" presents a label with a vertical orientation of the barcode
  • "Example 5 - Custom Fields & Attributes" illustrates a label that utilizes a wide array of shortcodes.
These examples serve as a foundational guide to assist you in designing your bespoke labels using HTML markup.

Barcode types

This plugin is compatible with the most commonly used barcode types. To better understand their distinctions and characteristics, let's examine each one in more detail:
CODE-128 - Use this barcode type for custom SKU numbers or any other internal product numeration of your products. There are no specific requirements for this barcode format. Any length and any symbols (128 different chars) can be used for CODE128. So, if your codes look like Cap7-NY-Red or 000022 then CODE128 is the best match for you. You don't need to buy codes in order to use CODE128.

QR-Code - This is a modern type of barcode which is widely used in a lot of areas - from mobile devices to stock inventory. Looks different compared to common barcodes but supports any chars/data (even links) you need to create a barcode. You even can add to QRCode SKU, Product Name, Price & attributes at the same time, so you can get back this info simply by scanning QRCode with your phone. Like CODE128 it is free to use.

UPC-A (or just UPC) - "Universal Product Code" is a worldwide registry of unique products, consists of 12 digits. In order to use it you need to buy your own UPC code first - you can't just come up with a code (for this you can use CODE128 code). The price for UPC is between $0.10 and $5.00 - there are a lot of websites where you can buy it.

UPC-E - It is a short version of UPC-A, consists of 6-8 numeric digits. This code also should be purchased in order to use it.

EAN-13 / IAN / ISBN - Originally “European Article Number”, but now renamed as IAN “International Article Number” - consists of 13 numeric digits. The idea is the same as UPC. EAN also is a worldwide register of products but created in Europe. To use EAN you need to buy it first.

EAN-8 - Short version of EAN, consists of 8 numeric digits. You need to buy EAN8 codes before using them.

CODE39 - Similar to CODE128, but supports only 39 different chars. Use CODE39 only if you have to. Using of CODE128 is preferable as CODE128 format looks sharper after label printing, so they are easier for scanners to read.

Data Matrix - Another 2D barcode. Similar to QRCode and can be used for storing large amount of text data and even links. DataMatrix limited by 2335 alphanumeric characters, which is more then enough in the most cases. Compared to QRCode, DataMatrix with the same data will be smaller in size, so if you need 2D barcode on a very small label - DataMatrix actually can be a better solution compared to QRCode.


API is used for integration this barcode generation plugin with any third party plugin or software. So, it will be possible to print labels using data from any other data source and make label pre processing. It also allows to create your own shortcodes for label template and replace them with required data.

JavaScript API:

It allows you to use JavaScript in order to activate labels preview and to add barcodes. Adding barcodes will be done only inside browser and there won't be any interaction with WooCommerce. We recommend to use JavaScript API only if you don't use WooCommerce at all (otherwise use PHP API).

Creating 1 label with extra text lines:
		'[line1]':'Product name', 
		'[line2]':'Color: Red',
}).then(data=>{ // Callback
"barcodeImageData" - Specify value for barcode image
"format" - Supported barcode types: CODE128, CODE39, QRCODE, DATAMATRIX, EAN13, EAN8, UPCA, UPCE
"replacements" - allows you to replace "lines" with specific values for "Adaptive" label template. Allows to replace any shortcodes for custom label templates.

To show user a printing preview:;
To remove all labels from the preview:
Creating a lot of labels (better performance for large amount of labels):
var batch = [];
for(var i = 0; i < 200; i++) {
        barcodeImageData: "barcode-" + i, 
            '[line1]': "text1", 
            '[line2]': "text2", 
            '[line3]': "text3", 
            '[line4]': "text4"
ProductLabelsPrinting.addLabelsBatch(batch, "C128");

JavaScript "afterRender" label event

JavaScript "afterRender" event allows you to do post processing by JavaScript for each label user create. So, created label may have extra dynamic behaviour. Specify afterRender JS code in "Settings"->"JavaScript" tab. Use "jQuery(label)" to get access to label object.


PHP API can be used for pre processing labels before they rendered on front-end, so you can add texts or modify HTML of labels. PHP API implemented with common Wordpress hook function called "add_filter()".

To get more specific information about PHP API - use our example file which is called "api-example.php" and located in plugin folder. Copy example file to the /wp-content/uploads/product-labels-printing/api.php and this file will be automatically loaded by plugin. PHP API allows you to create your own "shortcodes" which you can add to label templates and they will be replaced with values you fetch in api.php file.
Note: it is not necessary to create api.php as you can put its code in functions.php or any other place you like.

In api-example.php you can see creation of 2 new shorcodes which will be replaced with hardcoded values. Of course you will need to replace harcoded values with your own code. Use information from $item array to get item id and pull additional info from your database.


WooCommerce users already have "Generate Barcode" buttons on product pages - our plugin creates them. However if instead of WooCommerce you use some third party plugin or custom developed functionality you might need instructions how to create "create label" buttons and make them compatible with our plugin.

There are two types of buttons:

Single label button - for creation of one label at the time.
It can be used on inner page of item. If user presses it, barcode plugin activates and suggests to create label for this one specific product. This button also should contain information about the item id by using "data-item-id" attribute:

<button class="barcode-products-generation-button" data-item-id="5">Create label</button>

Note: CSS class name can be changed in plugin settings, so it may differ.

Multiple labels button - for multiple labels creation.
It can be used on "Item list" pages (like "Posts" page) where user can select a few items with checkboxes and create labels for all of them at the same time. For such button you need to use similar HTML code but without "data-item-id" attribute:

<button class="barcode-products-generation-button">Create labels</button>

Note: CSS class name can be changed in plugin settings, so it may differ.

Beside button you also need to add "barcode-products-selector" CSS class for checkboxes, so our plugin could find them and read their values (item ids). This is an example of how your checkboxes may look like:

<input type="checkbox" class="barcode-products-selector" value="5"/>
<input type="checkbox" class="barcode-products-selector" value="6"/>
<input type="checkbox" class="barcode-products-selector" value="7"/>

Note: CSS class name can be changed in plugin settings, so it may differ.
  • This plugin is flexible and allows to work with any kind of labels. You can simply specify sizes of your paper/label in "mm" or "inch" and plugin will be ready to print them.

  • Due to flexibility of plugin, it support 99.99% of printers. Beside common A4/Letter printers plugin also supports roll/thermal printers like DYMO, Zebra, Brother, Arkscan, MFLABEL, ROLLO, BCL, TEROW and others. If you still deciding which printer to buy, we would recommend DYMO printers as they are easiest in configuration and maintenance.

  • Plugin allows to print any labels which are supported by DYMO printers.
    Please watch video tutorial on how to add custom label size.

  • Business plan allows to create customized and stylized labels. For this you will need to create custom label template which you can customize in any way you need.

  • There are 2 ways to do it:
    1. Set barcode height to "0%" in label settings and barcode will dissapear (works for basic template).
    2. Create fully customized label template with all information you need.

  • Looks like you use Mac OS and Safari browser. The problem is that Safari extracts all downloaded zip files automatically. You need to disable it, you can do it in Safari->Preferences and disable option "Open 'safe' files after downloading".

  • Wordpress removes only plugin files. It means that plugin configuration won't be removed from database, so it can be used in future.
    If you decide to install plugin again - all plugin configuration will be the same - before plugin was removed.

  • In order to update plugin you need simply remove old version and install a new one. All setting will be transfered to new version without any additional actions from your side.

  • By default plugin allows to display on barcode 2 attributes/custom fields. For this you need to match "Text1" and "Text2" fields on "Import" popup with specific attribute or custom field. To use 3 or more attributes/custom fields on barcode you will have to create new barcode template and by using shortcodes like [attr=gcolor] or [cf=_regular_price] specify where they should be placed. The value for shortcode might look different, like "tshirt_size", "upc_code" or "my_custom_field". Usually name of custom field or attribute is specified in plugin/place where it was created.

  • Before printing it's very important to get to know your printer a little bit better, especially we need to know if printer can print without page margins.

    The right way to do it is to read technical documentation about your printer (or find it in google) but if you lost documentation or can't find in google there is another way.

    Print this PDF page and compare if it looks the same as on PDF. If page border doesn't look the same - your printer might not support border-free printing or you didn't check this option in print settings popup.

  • It's ok, actually most of printers can't do it. You just need to use label sheets with page margins.

    Here is example of label sheet (40 labels per page) with page margins.

  • Yes, you can save all labels as PDF document, so you will be able to print them later.

Related plugins:

Barcode Scanner
Lite POS system to manage inventory and orders in WooCommerce

Barcode Generator
Generate and display barcodes on pages, emails, invoices and posts

EAN/UPC Generator & Importer
Assign UPC/EAN codes for your WooCommerce products


Barcode generator for WordPress screenshot 1 Barcode generator for WordPress screenshot 2 Barcode generator for WordPress screenshot 3 Barcode generator for WordPress screenshot 4
Version: 3.4.9
WordPress up to: 6.5.x
WooCommerce up to: 8.9.x
payment security
payment security

Related plugins

Barcode Scanner

Barcode Scanner

Barcode Generator

Barcode Generator

EAN/UPC Generator & Importer

EAN/UPC Generator & Importer

Write your question or comment: