Barcodes Can't Be Scanned

Module Width

If the demo imprint or the horizontal line of the demo version affects reading, contact us for a temporary license key for proper testing.

Reading problems can occur if the printer has low resolution (<=300 dpi) - especially thermo transfer label printers need adaption. Solution: Adjust the narrow bar width to the pixel width of a printer dot.

You can do this by adjusting the property Module Width - examples:

200 dpi...2 Pixel=0.254mm    (ModuleWidth=254)
202 dpi...2 Pixel=0.251mm    (ModuleWidth=251)
203 dpi...2 Pixel=0.250246mm (ModuleWidth=250.25)
203 dpi...2 Pixel=0.250mm    (ModuleWidth=250) - 8 Dots/mm
300 dpi...3 Pixel=0.254mm    (ModuleWidth=254)
304 dpi...3 Pixel=0.250mm    (ModuleWidth=250) - 12 Dots/mm
Optimize Barcode Quality

Barcodes with inaccurate edges are one of the most common problems for any barcode scanner. To get crisp barcodes, make sure that the width of the bars, spaces and dots matches an integer multiple of the pixel width of your output device. This is especially important when printing on low-resolution devices like thermal transfer printers.

Important for Controls: If you change the ModuleWidth also the symbol width will change (but not the bounding rectangle), so make sure that the bounding rectangle of the Control is wide enough to hold the complete symbol in order to prevent clipping.

Optimize Resolution

Similar effects can be achieved with the Optimize Resolution property* (see software documentation and Barcode Reference).

Play around with the module width, the image resolution or the parameter Optimize Quality! In addition switch off toner saving mode in your printer driver and disable any aliasing feature.

Small/Narrow Barcode

Trying to stuff as many characters as possible into a barcode can result in too narrow bars, too close gaps or too small dots. The solution is to use another barcode symbology, to reduce the amount of data or to enlarge the barcode by increasing the Module Width.

In some cases you need more white space around the bar code - or the bar code is clipped on the right side if the output medium is too small.

The Module Width specifies the width of the bars, spaces or dots in a code.

Blurry or Inaccurate Barcode

Your barcode has been post processed incorrectly: Each post-processing step like scaling or resizing means a potential loss of the barcode quality. Whenever possible create the barcode images in the required size and resolution of the output device.

Scaling or resizing of generated barcodes should be avoided whenever possible!

Enlarged Bars

Some laser printers enlarge the bars (create dot gain) if you don't run them at the maximum print resolution (e.g. laser printer with 1200 dpi is run at 600 dpi). Change to the maximum DPI offered in the printer driver settings. Excessive toner application (toner saturation) can also cause dot gain.

Some printer drivers enlarge the bars with draw mode "compatible". If the bars are wider as they should be change the Draw Mode to Quality. The draw mode can be adjusted either in the program options, in the config file or in the barcode properties.

Violated Quiet-Zone

The quiet zone is the white space around the barcode to ensure correct decoding. For more information see our Barcode Reference, page 14.

Please consider the specific quiet zone requirements of your barcode symbology.

Unwanted or Wrong Character(s) When Reading a Barcode

Keyboard Layout

Problem: mixed up characters like "-" is read as"/".

Solution: change the keyboard layout setting in your keyboard wedge scanner.

These problems can occur with scanners connected to the keyboard cable of your system. The scanner translates the barcode into keystroke sequences - these keystrokes are language dependent. To solve the problem make sure that the "keyboard language" of the scanner matches the language of the used keyboard. Please check out the configuration manual of the scanner - usually the manual contains some configuration bar - codes which must be scanned with the scanner.

Code Page (2D Barcodes)

For encoding characters outside of the standard ASCII table (0-127) you can choose different code pages (with specific 2D bar codes). If you choose a non-standard code page (other than default) you can get mixed up or non readable characters. Whenever possible you should always use the default code page of the respective 2D bar code. If you try to encode special characters (like Ä or Ñ), make sure that the 2D symbology in use is able to encode them with the default code page.

Scanner Configuration

If you get unwanted characters or line feeds, when scanning, this can be introduced by a wrong scanner configuration. To solve this problem refer to the scanner’s manual to verify the so-called prefix, suffix and symbology identifier settings.

Unaccepted GS1 Barcode

If you intend to distribute your product in stores or at online shops make sure to register your barcode numbers at GS1 or the appropriate organization for your use-case.

For more info see:

Low Grade with 203 dpi Thermal Printer

Fine Tune the Module Width

Adapt the module width to the printer dot size (as shown above).

Adjust the Draw Mode

In order to cope with printer driver problems the drawing mode for bar codes can be switched between compatible and quality. If you see distortions in the bar code change the draw mode to compatible. If the bars are wider as they should be (and the gaps are too small) change the draw mode to quality. Depending on the software you are using, the draw mode can be adjusted either in the program options, in the config file or in the object properties.

How to change the draw mode in TFORMer?

Take Care with Optimize Resolution

Depending on the printer vendor and the Windows printer driver the Optimize Resolution feature of TBarCode and TFORMer can either improve or decrease the quality.

Improved Quality:

If the technical specification of the printer indicates a resolution of 203 dpi and the printer driver internally also calculates with 203.0 dpi, the Optimize Resolution feature can adapt the module width exactly to the Pixel raster of the printer. This leads to an increase of the bar code quality.

  • Examples for printers behaving like that: SATO printers, TFORMer ZPL compatible printers

Decreased Quality:

If the technical specification of the printer indicates a resolution of 203 dpi - but the printer driver internally calculates with 203.2 dpi (8 dots/mm), the Optimize Resolution feature will fail. When optimizing for 203.0 dpi the module width adapts to a 0.125123 mm printing raster. But because the printer driver uses a dot width of 0.125 mm (203.2 dpi), the bars and gaps are calculated slightly wider as they should be.

  • Example for printers behaving like that: Carl Valentin printers, some Zebra printers


In practice we have seen that it depends on the printer and printer driver if Optimize Resolution should be used or not. If you can see that the narrow bar width is not constant throughout the symbol you should consider to enable/disable the Optimize Resolution feature and then verify if the bar code quality is getting better or worse.

Depending on the software product you use, there are advanced options for dealing with the 8 Dots/mm (203.2 dpi) resolution problem. Please contact our support for more information and recommendations. With TFORMer built-in printer drivers you should always use Optimize Resolution since there is no driver inconsistency.

Barcode Decoder Software

Test and verify your barcode data (from image files):

Distorted Barcode Output, Black Bar at the Top

If this occurs during printing, this effect is caused by the printer driver. Along other printer models this effect happens with Toshiba TEC and DataMax printers.

If this occurs during bitmap generation, this effect is caused by the screen driver.

The solution is to change the draw mode of TBarCode:

TBarCode V8+

Set the ActiveX Property DrawMode to Compatible.

TBarCode V7

  1. Create a file barcode.ini with the following content:
  2. [DRAW_MODE]
  3. Copy the barcode.ini file to the installation directory of TBarCode (where you can find the file tbarcode7.ocx or tbarcode7.dll).
  4. Restart the program.

Which Thermo Printers Can Be Used with Your Linux Software?

Printers Having a CUPS Driver

You can use TBarCode/X and TFORMer with CUPS drivers. CUPS drivers exist for Dymo printers and Seiko printers. For other printers: Please contact your label printer company directly for available CUPS drivers.

PCL 5 Printers

You can use TBarCode/X also with PCL-5 printers: For example, Microplex offers PCL-5 label printers

Zebra (ZPL) through TFORMer

Our TFORMer label software has a built-in ZPL-II driver for Zebra Thermo Printers (no CUPS driver required in this case).