Barcodes for Products in India: GS1 vs In-House Codes

QR & BusinessBy the FixDoks team19 Oct 20265 min readChecked 26 Sep 2026

A shop owner scans a product barcode on packaging with a phone.
Quick answer

You need a GS1 India registered barcode (a GTIN, shown as an EAN-13 or UPC code) to list products on major e-commerce marketplaces or sell through large retail chains in India, since GS1 India is the body that issues GS1 barcode numbers here. For a local shop, small production run or internal stock tracking, a self-generated Code 128 or EAN barcode works fine without any registration.

Official registryGS1 India (issues GS1 barcodes (GTINs) in India)
Legally required?Not by law, but required by most large retailers/marketplaces
Needs registrationGTIN/EAN-13 for retail listing
GS1 not required forInternal stock codes, small local shops

You need a GS1 India registered barcode, a GTIN shown as an EAN-13 or UPC-A code, if you plan to list products on major e-commerce marketplaces or supply large retail chains in India, since GS1 India is the body that issues GS1 barcode numbers in India and most big retailers check for a valid GS1 prefix before accepting a product. If you are running a small local shop, a home-based business, or just need to track your own stock, a self-generated barcode from a free tool works perfectly well without registering anywhere.

What GS1 India actually is

GS1 India is a standards organisation set up by the Ministry of Commerce and Industry together with bodies such as CII, FICCI, BIS and APEDA, to issue globally unique product identifiers, called GTINs, which get encoded into the barcodes printed on packaging. When a barcode starts with a company-specific prefix issued by GS1, any scanner or retail system anywhere in the world can trace it back to your business, which is exactly what large retail chains and marketplaces rely on to avoid duplicate or conflicting product codes across thousands of sellers.

Registering with GS1 India gives you a block of GTIN numbers (starting sizes are typically 100, 1,000, 10,000 or 1,00,000 numbers) for fees that depend on your company's turnover, the number of barcodes and the subscription period (GS1 India's site lists a registration fee, a subscription fee and a refundable security deposit, and shows a revised fee structure from 1 October 2026). The number of barcodes you pick cannot be changed later. This is a real, recurring cost, which is why it only makes sense once you actually need retailer-recognised codes, not for every small business from day one.

For internal tracking, labels or a small batch of products, generate your own barcode instantly with the barcode generator. It supports EAN-13, UPC-A, Code 128 and more, with PNG or SVG download.

Try it here

Barcode Generator

Same settings as the full tool page.

Runs in your browser. Nothing you type is sent to our server. Open the full Barcode Generator page

When you actually need a GS1-registered barcode

  • Selling on Amazon, Flipkart or similar marketplaces as a branded product: most require a GTIN under their own brand registry rules, especially outside a few exempted categories.
  • Supplying supermarkets, pharmacy chains or large retail groups: their point-of-sale systems are usually built around GS1-format codes and will reject anything else.
  • Exporting products internationally: global buyers and customs systems widely expect GS1 GTINs as the standard product identifier.

When a self-made barcode is enough

  • Tracking your own inventory in a small shop, warehouse or workshop, where the codes never need to mean anything to an outside system.
  • Printing barcodes on internal job cards, asset tags or library-style catalogues.
  • Selling directly to customers at a local market or through your own website, where no third-party retail system scans the code.
  • Testing a new product line before deciding whether it is worth a GS1 subscription.

A self-generated barcode still works with any standard barcode scanner or scanning app; the difference is only that the number itself is not registered anywhere outside your own system, so it will not be recognised by an external retailer's database.

How to decide, in practice

Ask yourself who scans the barcode after it leaves your hands. If the answer is only you, your own staff, or your own point-of-sale system, a free self-generated barcode is enough, and there is no legal requirement in India to register with GS1 for that use. If the answer is a marketplace's warehouse system, a retail chain's checkout counter, or an international buyer's logistics system, check that specific partner's requirements before you print packaging, since many explicitly require a GS1 GTIN and will not onboard your product otherwise.

It is worth checking with the actual marketplace or retailer you plan to work with, since requirements can vary by category and can change over time; GS1 India's own site is the place to start a registration if you decide you need one.

What information a barcode actually stores

A retail barcode like EAN-13 stores only a number, not your product name, price or description; the scanner uses that number to look up the matching details in whichever database it is connected to, whether that is a GS1-linked global registry or your own shop's inventory spreadsheet. This is worth knowing because switching from a self-made code to a GS1 GTIN later does not mean re-designing the barcode itself, only re-registering the number in the right place and updating whichever system reads it. Keep a simple spreadsheet mapping each barcode number to the product it represents, whether or not the number is GS1-registered, since this is what actually makes a barcode useful day to day. This mapping step is the same amount of work either way, so it should not be the reason you pick one route over the other.

Common mistakes when adding barcodes to products

  • Printing a random or made-up EAN-13 number on packaging, which risks clashing with another company's registered code.
  • Paying for a GS1 subscription before confirming that your specific marketplace or retailer actually requires one.
  • Using a barcode format the retailer's scanner cannot read; check whether EAN-13, UPC-A or Code 128 is expected before printing a large batch of labels.
  • Forgetting that GS1 registration is a recurring cost, not a one-time fee, when budgeting for the switch.

Whichever route you choose, you can generate and download barcodes in bulk with the barcode generator, and check any barcode you receive from a supplier with the barcode scanner before printing new labels of your own.

Tools for this

Frequently asked questions

Is it illegal to sell a product in India without a GS1 barcode?

No. GS1 registration is not a legal requirement in India. It becomes necessary in practice only when a specific marketplace, retail chain or export buyer requires a GS1-format code as a condition of doing business with them.

Can I use a free barcode generator for products sold on my own website?

Yes. If you are the only one scanning the code, or it is just for your own stock tracking, a self-generated barcode from a free tool works fine, with no GS1 registration involved.

Do Amazon and Flipkart always require a GS1 barcode?

Most product categories on major marketplaces expect a valid GTIN under their brand or catalogue rules, though exact requirements vary by category and platform. Check the specific marketplace's seller documentation before listing a new product.

How much does a GS1 India barcode registration cost?

The fee depends on your company's turnover and how many barcode numbers you need (packages typically start at 100 numbers and go up to 1,00,000). Check GS1 India's own site for current pricing before budgeting for it.

What is the difference between EAN-13 and Code 128?

EAN-13 is the standard retail barcode format used worldwide for GS1-registered products, while Code 128 is a more flexible format often used for internal tracking, shipping labels and non-retail applications.

Sources

Rules and limits change. Always check the latest official notification or portal before you submit a form.