The main requirement is for each black or white bar in a barcode to be clearly visible on the image. All barcodes have at least 2 sizes of bar and the image needs to be of high enough quality to show this. For example, a Code 39 barcode consists of 9 bars per character, of which 3 must be wide and 6 must be narrow. The wide bars should be around 2.5 times the size of the narrow bars - but for simplicity we will say 2 times the size. This means that each character needs at least 12 pixels in an image. This assumes that each pixel in the image lies either entirely in a black bar or entirely in a white bar. In practise, this isn't possible and so the resolution should allow around 36 pixels per character.
So, to encode a string of 10 characters (including the start and stop *) you will need at around 360 pixels. If the barcode is 1 inch wide on the paper then you will need to scan at a resolution of around 400 DPI. If the barcode is 2 inches wide then you will need to scan at a resolution of at least 200 DPI.
Some types of barcode have more than 2 widths of bar and a higher resolution still will be needed to ensure that the different widths can be distinguished on the image.
As for barcode height - if you have a very wide barcode then you need to ensure that it is high enough to cope with any skewing that takes place when the image is scanned.
In summary - the success of a project can depend on specifying the correct barcode size and image resolution.
| Barcode Type | Number of Characters | Minimum Number of Pixels (approx) |
|---|---|---|
| Code 39 | 10 | 340 |
| Code 2 of 5 (interleaved) | 10 | 190 |
| Code 128 (code set A) | 10 | 280 |
| Code 128 (code set B) | 10 | 280 |
| Code 128 (code set C) | 10 | 170 |
| EAN-13 | 13 | 190 |
| EAN-8 | 8 | 140 |
| UPC-A | 12 | 190 |
| UPC-E | 8 | 120 |



