How to create barcodes

Posted by Thomas
Create your own barcodes

We definitely recommend using a barcode system to help track and speed up your business. But the question is: should you create your own custom codes, or register them with GS1? This article explores some pros and cons to each approach.

We’ve spoken with a lot of small businesses over the past 11 years, and one of the biggest easy wins is teaching customers how to create barcodes.

This post will cover three major subjects:

  1. How to read barcodes
  2. How to create your own barcodes for internal use
  3. How to create barcodes with GS1 for use at other retailers

Most of our customers haven’t made barcodes themselves, but they have seen them in retail stores. They take an item off the shelf, bring it up to the counter, the clerk scans it in — beep! — and the computer screen is instantly populated with the name and price of that item. This common experience can cause the misconception that the barcode itself actually had all of that information embedded within it.

However, 1D barcodes (a.k.a. one-dimensional or linear barcodes) are really just a series of vertical lines in varying widths. These barcodes, which are common at most retailers around Europe and North America, don’t actually store a lot of information about products.

How to read a barcode

When a barcode is scanned, the string of vertical lines are interpreted by the computer and then output as text.

Scanner reads a barcode, the computer associates a barcode with an item number, and that item number brings up information like description and price on the computer screen

The point-of-sale system can recognize that string of text and will know to bring up certain details — like the name and price of that item — as a result.

That relationship between the barcode and that item had to be established beforehand. The barcodes were generated either by the business itself, or in concert with an organization known as GS1, which licenses barcodes to companies all around the world.

Types of barcodes

The types of barcodes you’ll see aren’t all the same; different barcodes will use different symbology. That symbology will determine the number of characters it can include, and what specific set of characters it can display. Codes like UPC-A or (12 digits) EAN-13 (13 digits) are often used in retail, and you’ll often see Code 128 (which can display all 128 ASCII characters) represent the tracking codes on packages.

Option 1: How to create barcodes by yourself

Making your own barcodes isn’t that hard to do, and it’s a great option if you just need barcodes for internal uses like asset tracking. 

First you’ll need a barcode generator, which can make barcodes that you can print out. Or you can use a barcode font, like our handy dandy Archon Code 39 font, so that you can write your own barcodes in a program like Microsoft Word.

It’s up to you how to break down the actual barcodes, but you’ll probably want to build in a hierarchy so that you can see, at a glance, what kind of product a barcode is for.

The UPC-A symbology gives you 12 total digits, but only the first 11 digits contain message data. The 12th digit is called the “check digit” and functions as a way to verify the barcode has been read properly. If you’re generating your own codes manually, you can create a check digit with a bit of math.

 UPC-A barcodes are created with 11 digits of message data and a 12th check digit

That’s the most basic break down of a UPC-A barcode, but you can also do more advanced stuff by breaking down the other 11 digits into sub-categories. That way you can glean a lot more information about a product, even if you only have the 12-digit code. Here’s a quick example of what an Archon Optical barcode for Ghost glasses could look like:

Example of a custom 12-digit UPC: first six digits stand for product type (glasses). The next four digits stand for product name (Ghost). The 11th digit stands for "not polarized", and the 12th digit is a check digit.

Once you have generated your actual barcodes in a program, you’ll want to print them out with a label printer so that you can physically attach them to your products. We’ve had success with the DYMO LabelWriter 450, but there are many other choices out there.

You’ll also want to choose a barcode scanner. You can find scanners for under $100 in both wired and wireless versions. Wired scanners are useful if they will always be used at the same location and you don’t want to worry about battery life, but wireless is the best choice for warehouse work that requires you to walk through different aisles. 

Once you’ve generated barcodes and stuck them on products, it’s time to tie those barcodes to product names in the inventory or point-of-sale (POS) system you’re using. Inventory software like inFlow Cloud will have specific fields for you to scan barcodes in; once the barcodes are associated with a product you can just scan instead of typing a name or item number into the computer.

This can be accomplished for a few hundred dollars, depending on the software and hardware you end up choosing. The key thing to remember here is that the equipment will be yours, and the barcodes that you create won’t have any extra fees associated with them. The caveat is that you probably can’t use these custom barcodes at other retailers. But that’s why we also cover Option 2. 

Option 2: How to create barcodes with GS1

If your long-term plan is to sell your own products in other stores (which use different point-of-sale systems), then you’ll want to ensure your barcodes are created and registered with GS1. This won’t take as much personal know-how and software, but it is a greater financial investment. Let’s take a look at the Universal Price Code (UPC) once more.

As we talked about earlier, a standard UPC-A barcode has 12 digits in total. When you register a barcode with GS1, there are different tiers you can purchase based on the prefix size. These tiers have differing company prefix lengths — longer prefixes are cheaper, and smaller prefixes are more expensive.

For example, registering a 9-digit company prefix with GS1 costs $750 for a maximum 100 unique items (as of 2016), and there’s also the $150 annual renewal fee to consider. The fewer barcode digits used for a company prefix, the more products you’re allowed to register under that UPC.

A barcode created with a six-digit company prefix can have 100,000 possible products; a barcode with a seven-digit company prefix can have 10,000 possible products.

With officially registered barcodes, you will still have to generate the barcodes yourself, but you have fewer actual digits to play with. Once you’ve registered a prefix with GS1, you’ll have access to the GS1 US Data Hub | Product (yes, the name is a mouthful). That online tool will help you to generate and track all of the barcodes in your business. The barcodes you create with that tool will all be registered, which makes them eligible to be used at other businesses.

As for printing: you can export the barcodes from the Data Hub for printing labels out yourself, or you can send the image files to a registered GS1 service provider. They can help you design and print the barcodes for use on packaging or boxes, if you’d like something more than just a simple label.

Wrapping up

The choice between having your own custom barcodes vs. registered barcodes really boils down to this: would you like to sell your product at stores other than your own?

Creating your own custom codes can be done with your home computer, some software or font packs, a scanner, and a label printer. Once you have the right setup, the costs are about the same whether you choose to create 100 barcodes or 1000 (you’re just paying for paper and your time at that point). This can be a great choice if you’ve got a smaller shop, or if you just need barcodes to help manage inventory.

But if you want to enable other businesses (especially larger big box stores) to stock your product, you’ll need to go the registered route with GS1. That means you’ll have to pay GS1 for the registration and annual renewal fees, and it can be costly to purchase shorter prefixes that allow you more barcodes. You’ll still have to make the actual business connections yourself in order to sell your products at other stores, but at least you’ll have the logistic work in place when you have registered codes.

The links in this article point at US-specific resources, but you’ll be glad to hear there are GS1 offices all over the world. So if you’re looking to start barcoding your business and prepare for growth, your local GS1 office is a great place to start.

Generate barcodes in inFlow

After speaking with hundreds of customers about barcoding, we’ve realized that one of the most valuable things we can show customers is how to create barcodes.

That’s why we’ve built that feature right into inFlow Cloud. You can fill in the barcode fields yourself or have inFlow Cloud automatically generate unique barcodes for each of your products. You also have choices about how to print the barcodes: you can print directly to DYMO printers or create shelf labels to scan.

If you’d like to learn more about how inFlow can create unique barcodes and labels, check out this video: 

How to generate barcodes for your inventory | inFlow Cloud

Try inFlow Cloud free

No credit card required. Sign up now!

About Thomas

Thomas is a 100% human being who divides his time between writing medium-sized articles with his keyboard and taking large photographs with his camera.

Have a question or comment? Let us know below!

  1. I’m setting up a convenience store that will be selling both commercial products and our own items, in the store only. We won’t be selling our items other than through this convenience store. Is there a way that I can generate internal UPC codes that would not be used outside of our store, and guarantee that I would never have to worry about getting in a product from some manufacturer that would duplicate that number? I don’t need to register our codes because they would not be used outside of our system, but don’t want to risk using a code and then someday we start selling a new product that uses a barcode we’ve been using internally.

    1. Good question, Tony.

      If you’re in North America then the products you stock will use UPCs. If you’d like to just use barcodes internally then the safest bet would be to use a different symbology for your own internal product barcodes. That way you can pretty much guarantee that any outside product wouldn’t replicate them. CODE-128 is a popular symbology you could use for this.

  2. I have a bar code number and I need to generate the barcode itself. Can I generate the Barcode from the number

  3. I need bar codes for my products to sell in amazon. can i print this and stcik them to the products ?

    1. Hi Maria: you would need to register some official barcodes with GS1 in order for them to work on Amazon.

  4. We have purchased barcodes , now we want to generate labels and want to put data of product .
    how we can put data on bar codes and where we can register bar codes ,
    we need if some one scans bar code the proeuct data should pop up
    please advise

  5. Hi ! I m PK. i hope you can answer my problem is, everytime i scan my barcode and got the result with addtional alphabet in front of my barcode number . what should i do to removed that alphabet ?

    Scanning barcode is 63025033 but the result after scanning is A63025033

  6. Hi my name is Emma I have created my barcode ,I want to fix it on my product infor on web /interment so that if it is scanned it brings the product infor or name and company , how do I do it?

    1. Hi Emma, that use case that you described is why we made software like inFlow. You need software that will take a barcode and associate it with a specific product record when scanned. inFlow can do that for you, and more. You can start a free trial here to try it for yourself:

  7. Hi I work at an large airport car park in the uk . We can have up to 17000 cars here at any one time . Our programme starts when we create a booking . This will give us a ref number example.
    All refs are YB
    Customer initials. MSB
    Number automatically increases every time a new booking gets created then creates a one off barcode for this customer . We create other adhoc labels to show were key or car is moved to.

    To amend details on a booking is accessed via F5
    To create a booking access via F4
    To scan key or car to a new location or driver access via F7
    To audit key or car use F8

    Our programme is written and looked after by a computer company but they only add things or remove things when we ask them to as we can not access there hardware.

    I,m not looking to work on my own place of work . But my wife works in a care home
    And there are 200 residents who take medication . The staff who hand out the meds do occasionally make errors. So I have said to my wife I would look into getting the best software that can update meds info as and when needed by for any resident. Description below

    Steve Smith Jones
    Date of birth
    Date entered a certain unit
    Medication 1
    Medication 2
    Medication 3
    Medication 4
    Date started dd/mm/yyyy
    Date ending did/mm/yyy

    All the above info would be amendable as and when by senior staff qualified to issue meds. But bar code would be unique to one person for life in care home.
    Do you think this could created on Microsoft 10. Or 365

    Colin Walker

    1. Hi Colin,

      You could handle something like that with Excel, but it’s harder to track when records were changed.

      Something like this could be handled by inFLow, although it wasn’t specifically designed for the medical industry.
      You could create each patient as a customer in the program, and then “sell” to them each time they’re given medicine.
      On each sales order you could include the medications provided, and the date of the sales order would show when they were given the medicine.

      The sales records could also show when they started taking each medicine, although you’d have to generate a report to see that.
      That’s my advice for an inFlow-related solution, but there is of course a world of software specialized for the medical/pharmaceutical industry, and I’m afraid I don’t have experience to share there. Sites like Capterra might be able to help you with that.

    1. Hi Javed, GSTIN stands for Goods and Services Tax Identification Number, and it looks like it’s specific to India. It’s 15 digits long.

      The UPC is a Universal Product Code and it’s usually assigned to goods for sale in North America, and it’s 12 digits long. Europe usually deals with the EAN, which is a modified UPC)

  8. Hi sir, I want to create barcode scanner, where it reads and displays all the details, can you guide me.


  9. GS1 or Homemade that is the question

    I need barcodes to ship inventory to Amazon and Walmart among others.

    Which way should I safely go ?

    1. Hi Bob,
      If you’re sending your barcodes for use elsewhere — basically outside of your own offices, then it’s wiser to use GS1. It’s more expensive, but it ensures that you have a unique barcode that won’t conflict with any of the other products in Amazon’s (gigantic) database.

      There are also resellers of existing GS1 barcodes, but if you register directly through GS1, you have the guarantee that your barcodes are legitimate and aren’t registered to some other product.

    1. Hi Mark, our software is meant more for barcoding products. If you wanted to make an ID card, something like DYMO’s software would work well for you. Their software comes free with their printers, and we use the LabelWriter 450 ourselves at our office.

      Or you could use our free barcode font, create the ID card template in something like Microsoft Word, and then print and laminate the results.
      You can find our free barcode font here:

  10. First off, this is a great article, very clear and helpful – thanks.

    As I work in book publishing, in which we assign ISBNs to books, which are then converted to 13-digit barcodes, I’m familiar with those stripy things. ISBNs are standardised, of course, to the GS1 standard, and there are websites that allow you to generate the barcodes from ISBNs.

    However, where I work we also use a different type of code and system for identifying individual copies of security-sensitive logbooks. These were set up before any of us can remember and no one in the organisation now knows the principle behind them! We produce a series of 11-character combinations of letters and numerals and the printer creates barcodes from them. It’s in the form, eg:


    in which ’20’ is the year/edition (2020), ‘BC’ is the two-letter code for the product (Ballast Control Operator’s Logbook, in this case) and ‘0000001’ is the number for an individual copy of the BCO Logbook. There’s no check digit. Somehow, the printer is able to generate the barcodes and they can be scanned at the (third-party-operated) warehouse.

    Nevertheless, I’m puzzled how this can work because you only give all-numeral examples and ours contain letters. Plus they are 11 characters long, which also seems non-standard.

    Would it make a difference if we had three letters instead of two, or only four numerals at the end instead of seven? And is there a way we can produce and read the barcodes ourselves, or perhaps add information? However they work, we clearly can’t retrospectively change the existing numbers and barcodes because most of them still relate to active logbooks.

    I’d really welcome your ideas and expertise on this. Thanks very much.

    1. Hi Stephen, thanks for the feedback.

      Good points about the numbers-only barcode examples and the check digits. You can have barcodes with other characters, and not all barcodes need check digits. I’ll update the post in a little while to clarify that.

      For now, quick answers are:

      You don’t need to have a check digit in all barcodes. They’re an error-checking feature of barcode symbologies like UPC, but they aren’t used in other types like CODE39.

      Incidentally, CODE39 does support letters and numbers. I’m not sure which barcode your system is using, but it *could* be something like a CODE39 font. It sounds like you’re using proprietary software right now to generate and print the barcodes right now; if you wanted to try a different way you could try using a barcode font.

      We offer a completely free CODE39 font on this blog post:

      The font works in apps like Microsoft Word so you can type out new barcodes to generate your own. You’d just have to be careful to make the barcodes sequential, so you’d probably want to create some sort of Excel spreadsheet to track all of them if you chose to use the font.

      Our software can also create barcodes and automatically sequence them with prefixes, and if you’d like to give it a try, you can book a free demo here:

      – Thomas

  11. Hi, Thanks for the knowledge on barcode setup and usage. I want to understand some more details on setup of barcode through GS1. Can you please connect back with me on email id –

  12. This was very helpful! I wanted to ask you more about this effort and discuss a possible large project/business opportunity involving your bar code and scanner service. Where are you located? I am in Dallas and would love to jump on a 5 minute call if you have a moment.

  13. Hi,

    Want to ask! how can I make a unique barcode for each and every item? for unlimited number of items. can that be done?

    1. Hello Magdi, yes, you can create unique barcodes for each item, and inFlow can actually help you do this automatically. It’s one of the features we have in our web and Windows apps, so that each time you create a new product in inFlow, it can create a unique barcode for it. We even have a special tool to help you print those barcodes out on a regular printer.
      If you’d like to try it out, I’d recommend starting a trial from our main site:

  14. This article was a great help. We have been approached by a large company to carry our products. Looks like GS1 it is.

  15. I need a barcode only for office inventory (about 60 employees). Is this is a right product for me?

  16. Hi Thomas,

    Thank you for the succinctly written informative article on how to create bar codes. I have a query which i hope you will be able to resolve.
    I have a data base of Customer account numbers. For bar code purposes my sequence will include few digits in addition to the Customer account numbers to identify product scheme, brand etc. How do i go about getting my bar code data to correspond one to one with the existing Customer account numbers so that on scanning the bar codes, I will be able to get the associated Customer account number.

  17. Good info. I have a question about supermarket barcodes.

    How are they created? There are multiple items on it and if we did a refund, they scan it and they can see the list of items in it and not just for one item. How did they create that?


    1. This is an educated guess, but if you’re talking about a receipt that has a barcode on it, that barcode probably represents the receipt number. Scanning it with their inventory system would then bring up that receipt in their database, which would have all of the items.

      Or if you’re talking about the supermarket scanning just ONE item and seeing a list of other items you bought, then that item might have a unique serial or lot number on it. They could use that to bring up the date/time you bought that item, and possibly show any other items you bought on that same transaction.

  18. Hi Thomas,

    Thanks for the article.

    We are a small business that is trying to sell products through a retail store. Would the retail store POS be able to read our internally generated barcodes or do we have to get a UPC generated barcode?


    1. Hi Kush,

      When selling your own wares elsewhere, you’ll generally want to have a GS1 registered barcode. That ensures that your barcodes won’t clash with any existing ones in the retailer’s system (since GS1’s registration would not allow duplicates).

  19. I run a small online antiquarian book store. I want a bar code system for internal use only to keep track of sold and unsold titles. There are almost no multiples so I’d need circa 3500 individual barcodes. My sales orders arrive through Amazon and two other bookselling sites and my inventory is held in a tab-delineated database. How would this work with Inflow?

    1. Hi Christie,

      inFlow Cloud doesn’t currently sync with e-commerce platforms, but you can import comma delineated spreadsheets for setting up customers/orders/product lists. We’ve got a great set of instructions on how to do any import here:

      It should be a pretty simple switch to change an tab de-lineated sheet to a comma separated value (CSV) spreadsheet, but our support team would be happy to help if you have any questions:

      If you just need your own barcodes for internal use, then you could generate them with Excel and make sure they’re in the spreadsheet before importing your product list into inFlow. Once inFlow has the barcodes it’s as simple as scanning the barcode on the sales order screen, and the book will appear on the order.

  20. Hi I have a question. If I am selling the consignment products from other store, can I put my own 12digits barcode on the product beside UPC also?

    1. Hi Annie, if the product is from another store then it’s probably best to consult directly with them, since items on consignment are still technically their product.
      I can see why you’d want to add your own barcode to it for inventory tracking purposes, but in this case I’m afraid there is no general answer, and talking directly with your consignment partner is the best way forward.

  21. Thanks for the interesting article.
    Can the barcode include letters? Our SKU numbers are something like EC281. Or is a better to associate a diget only code that would specify the SKU number.