B-Label - A Linux labeling program for Brother P-touch series

Short history

After getting totally fed up with my hand-held Dymo, I bought their competitor's PC-only model hoping someone would have made a proper Linux-drivers for it. That wasn't the case, but the device uses the same protocol as Brother's QL sticker printers, so I managed to get it partitially working with the QL-series CUPS driver. The CUPS driver however doesn't seem to understand non-stop roll fed media, so using the printer with fixed sized pages wasn't practical.

I had almost forgotten about the device, when I found a post about a C program that printed images with the device. I mailed the author and got the program. I was actually amazed how simple the printer's imaging language was. In few hours, I came up with a simple GTK2-perl script that had two fields for inputting text, which it then rendered with GD.

As time went by, I started tweaking the program, made a more or less practical GUI with Glade, switched from GD to Pango for font rendering and added some features I saw in screenshots of the Brother's included software. This program is a really ugly hack, but it does what I need it to do. I hope you find it useful aswell.

Supported devices



These limitations will be eventually fixed, but for the current version they are:


The current version is 0.07, released on 29th of June, 2015.

DEB-based distros:

blabel_0.07-1_all.deb - Platform independant.


Download source.

Note that you need atleast Ubuntu 9.10 (Karmic Koala) or Debian 6.0 (Squeeze) for this program. The earlier versions of Pango lack some of the features this program uses. The .deb-package has been tested on Debian 8 and Ubuntu 14.04.

Make sure you have Perl GTK2, Perl GladeXML, Perl GD and CUPS-BSD packages installed (libgtk2-perl, libgtk2-gladexml-perl, libgd-gd2-perl, cups-bsd in Ubuntu and Debian).

Switch the printer to 'extended' mode (flip the switch at the back to 'E'), connect it to your box and turn the printer on. Add it as a ASCII-printer (the printer driver should say "Generic text-only printer").

Run blabel, set the fonts and the correct printer (in case you have others aswell), type some text and hit print.

Happy labeling! :)

Contacting me

You can mail me at ari@sovijarvi.fi. You can also reach me on IRC in EFNet, IRCnet and Freenode; my nick is APz.