Font representing UPC (Universal Product Code) Barcode.

About UPC:

UPC has the following formatting: ZnnnnnnYNNNNNNZ; where:
  • Z - start/end guard bar
  • Y - midlle guard bar
  • n - digit from the first 6 numbers the code
  • N - digit from the last 6 numbers of the code

How to use:

You'll have to convert your 12 digit code into 15 strings:
  1. first you type the start guard bar: Z
  2. first 6 numbers of your code, written as usual: 0 ... 9
  3. the middle guard bar:Y
  4. last 6 numbers of your code, using uppercase symbols: ), !, @, #, $, %, ^, &, *, (
  5. the end guard bar: Z


Barcode: 256015 495837
Type in: Z256015Y$(%*#&Z

Please Note:

  • the horizontal lines above and below the vertical bars are there only to ensure proper spacing between bars. You might want to remove that, although it won't interfere with barscanners.
  • there should be no space between the characters, fontsruct generates them this way. You'll have to compensate.(corrected thanks to thalamic)

Update (03. Apr '09):

With Kerning support added to fontstruct, no more horizontal bars are needed. I shall update the tutorial illustration as well.

22 characters, 44 downloads
Sat, 1st November, 6:49 PM 2008
Last Edit:
Fri, 3rd April, 7:51 PM 2009
Rate it:
  • Currently 6.83022
6.8Balanced%20Rating%3A%20%3Cb%20class%3D%22weighted_value%22%3E6.8%3C%2Fb%3E%3Cbr%2F%3EAverage%20Rating%3A%20%3Cb%20class%3D%22rating_value%22%3E6.7%3C%2Fb%3E%3Cbr%2F%3EClick%20for%20more%20information%20about%20this%20rating. 12 votes
sign in to vote.


ikarus Wed, 5th November, 2008

edit (2008.11.06): replaced old image with new (no space compensation)

edit (2008.11.06): replaced old image with new (no space compensation)

thalamic Wed, 5th November, 2008

FontStruct adds one grid vertical space between characters. Use the kerning trick to get rid of the space between characters, that is to say, move all glyphs one grid to the left of the blue vertical line. There won't be any need to correct the spacing manually. You will still require the horizontal bars for the characters that require extra space to the right.

Great font, BTW. And thanks for decoding UPC.

ikarus Wed, 5th November, 2008


I updated the font. I do hope they'll enable us to edit kerning, maybe drawing colored bricks for that...

Frodo7 Sun, 31st January, 2010

Hats off to you for the thorough research and execution of this UPC-A barcode font. There are quite a few barcode solutions, both softwares and fonts, but most of them for money. If someone has just one product to put on store shelves, he/she has to purchase one of those solutions, install it, just to generate a single barcode. Your font could save a lot of hassle...

I wonder, if you actually have tested your barcodes in real world. Using this font, compose a barcode of a known product (e.g. salted peanuts, or Jelly Beans, anything). Print it out (the proper size is crucial), and take it to the next superstore. Check it with the barcode scanner: it should indicate the same item, same price. 10/10

ikarus Mon, 1st February, 2010

Thanks Frodo!

Actually, It's been used on at least 2 projects already. Nominal with is 27.4mm (1.04 in), which can be scaled 80%-200%. Nominal height is 1in, also this can be a lot shorter (e.g. 1/2 in, 12mm). Remember to check character width and spacing, they should be 100%.

FontBlast Wed, 29th August, 2012

Cool! Check out a similar one I made called 'barkode'. It has more characters, but is not the same as yours.

barcode Mon, 12th November, 2012

Also check out the more versatile font for EAN-13. It can also generate UPC-A.