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.
If your stock has dozens or even hundreds of products it could be pretty difficult to manage them all. And it can lead to time consuming work and even to wrongly shipped items. This plugin gives you the opportunity to improve your business by using barcode labels that can be easily scanned by barcode scanner or app on your smart phone.

After you print and stick the barcode label on the product or shelf you don't have to remember all the details about it, just use the scanner or mobile app and it will give you all the needed information.

Main features:

  • Supports WooCommerce: product variations, attributes and custom fields
  • Supported barcodes: GS1 family, GTIN, UPC-A/E, EAN-13/8, QRCode, CODE128, Data Matrix, CODE39, etc.
  • Add any additional info on labels: Name, Price, SKU/UPC/EAN, Static texts and much more.
  • Support of A4, Letter, P4 and any kind of Roll/Thermal printers.
  • Has preset of commonly-used label sheets and allows to create a custom ones.
  • Allows to create labels manually or from products, categories, orders, users, promocodes, forms.
  • Possibility to create your own, personalized labels with custom layout/texts/images/etc.
  • Allows to create the same amount of barcodes as "Stock quantity".
  • All printed barcodes can be read by barcode scanner or mobile app (iOS, Android, Windows)
  • Can be added a few barcodes on the label at the same time.(Business & Premium plans)
  • Supported plugins: "Contact Form 7", "Flamingo", ATUM and others
  • Support of "Tiered Price Table" in custom label template editor.(Business & Premium plans)
  • API: Can be integrated with third party plugins & custom solutions. (Premium plan)

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 (DYMO, Zebra, Brother, Arkscan, MFLABEL, ROLLO, BCL, TEROW and others)
This plugin is very flexible and supports 99.9% of printers. Even if you use rare type of printer you can always specify sizes of paper/label and plugin will be ready to print.

If you don't have printer yet, we would recommend DYMO printers as they shows the best compatibility with browser, have great printing quality and simple in use. Also find suitable size of labels you need.

Note: If you face any difficulties with printer configuration - all plans cover help of our technician who can assist you via TeamViewer, AnyDesk or other screenshare software.

«Basic» label template

"Basic" label template is a core of plugin. It allows you to create various label layouts with barcode image & texts. With "Basic" template you can achieve the most common label layouts. Here examples of how labels may look like with using "Basic" label template:
The final look of label will depend on barcode type you are going to use and amount of texts you want to add. Basic label template allows to add up to 4 text lines which can be name, price, SKU, color, size or any other product field you need. If you want to add more lines of text/data or you looking for a more sophisticated label design then you need to use "Custom Label Templates".

Custom label templates for Business & Premium clients

Plugin allows to create more personalized labels to fit your store brand or build very complex labels. Such customization is possible with using "Label Template Editor" which available in the plugin. Such approach allows to add shop logo, different texts, design elements and unlimited amount of product custom fields and attributes.

Premium plan covers our help in development of the such label, so feel free to contact us to discuss what you need on the label.

Business plan also has Template Editor and allows your web-developer to create custom labels with the help of documentation. By default plugin has 5 custom templates but you can create any amount of them:
  • "Example 1 - Barcode + Logo" - example of label with static image and text.
  • "Example 2 - QRCode" - example of label with QR Code.
  • "Example 3 - QRCode + Product Image" - example of label with product image and QR Code.
  • "Example 4 - Vertical Barcode" - example of label with vertical barcode.
  • "Example 5 - Custom Fields & Attributes" - example of label with wide range of shortcodes.
You can use all 5 examples to create your own custom label using HTML markup.

Barcode types

This plugin supports the most popular types of barcodes. But what are the difference between them and what are their features? - Let's go through them to understand them better:
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.

  • 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.6
WordPress up to: 6.5.x
WooCommerce up to: 8.8.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: