Free for commercial use. No account, no expiry.

ScanCodeGenerator

Bulk Barcode Generator

By , Ready Utilities

This bulk barcode generator makes up to 500 codes at once from a pasted list, a CSV file, or a numbered sequence. Every code is validated before you print, so a wrong check digit shows up on screen rather than on a sheet of labels. Free, no account, nothing uploaded.

On this page

Build your batch

Encodes the full ASCII set. The usual choice for internal SKUs.

Blank lines are ignored. Maximum 500 codes per batch.

Size, colour and export options

Never zero. A cropped quiet zone is the most common reason a printed barcode will not scan.

Batch preview

Batch status

  • Add some values, then select Generate batch.

Verify any code by test scanning a printed sample before a production run. Provided as is, and used at your own risk. See the terms.

Every code is checked before you print

Generating five hundred barcodes is easy. Generating five hundred correct barcodes is the part that matters, because a single wrong check digit becomes a sheet of labels you throw away.

Each row in the batch is run through the same validation the single-code generator uses: character set for the symbology, length, and check digit. Rows that fail are outlined and given a reason, and the running tally tells you how many are good before you commit to anything.

For UPC-A, EAN-13, EAN-8 and ITF-14, entering one digit short lets the check digit be calculated for you. Enter the full length and it gets verified rather than silently accepted, which is how a transcription error gets caught while it is still cheap.

CSV format

Two columns. The first is encoded into the barcode. The second is optional and prints as human-readable text beneath the code, which is useful when the encoded value is a number and the person picking the item needs a name.

A header row is detected and skipped. Both comma-separated and semicolon-separated files work, since spreadsheet software in some regions exports with semicolons. Quoted fields containing commas are handled. The file is parsed in your browser and never uploaded.

To get a CSV out of a spreadsheet, use File then Save As or Export and pick CSV. Keep the values in the first column.

Numbered sequences

When you need a block of codes that do not exist yet, such as asset tags or bin labels, the sequence builder generates them from a prefix, a starting number and a count.

Zero-padding keeps the values the same width, so SKU-00001 through SKU-00500 all produce barcodes of identical length. That matters more than it sounds: a batch of mixed-width codes on one label sheet means mixed-width barcodes, and label templates rarely accommodate that gracefully.

Sequences work with Code 128 and Code 39 because those accept letters. For the numeric retail symbologies, use a pasted list or a CSV instead, since a prefix would break the fixed digit count.

Batches of retail barcodes still need registered numbers

Generating five hundred UPC-A images does not create five hundred registered GTINs. Retailers verify each number against the GS1 registry, and invented numbers are rejected regardless of how correctly the barcode is drawn. This tool is for turning numbers you already own into printable symbols.

What getting registered numbers actually involves

Sources

Every specification figure on this page traces to one of the following. Nothing is stated here that could not be checked against them.

  1. bwip-js, MIT-licensed barcode encoder implementing the ISO/IEC symbologies
  2. JSZip, MIT-licensed browser ZIP library, loaded on demand
  3. ISO/IEC symbology specifications for the per-row character set, length and check digit rules

Last reviewed 6 September 2026

This tool is built and maintained by Cedrick Reese at Ready Utilities. Encoding is performed by bwip-js, an MIT-licensed library implementing the ISO/IEC symbology specifications, at a pinned version. ZIP archives are assembled in the browser with JSZip, also MIT-licensed and loaded only when you select the download, so it costs nothing on page load. The per-row validation applies the same character set, length and check digit rules as the single-code generator, taken from the governing specifications rather than reimplemented here. The 500-code cap is a practical browser limit, not a specification requirement, and is stated as such.

Common questions

How many barcodes can I generate at once?

Up to 500 per batch. That is a practical limit chosen to keep the browser responsive while rendering and zipping, not a rule from any specification. For larger runs, split the list and generate in several batches.

Is my CSV file uploaded anywhere?

No. The file is read and parsed entirely in your browser. Neither the file nor the values inside it are sent to this site or anywhere else.

What happens if some rows are invalid?

Invalid rows are outlined with a reason, and the tally shows how many codes passed. Valid codes still generate and export normally, so one bad row does not block the rest of the batch.

Can I generate barcodes from an Excel file?

Save or export the sheet as CSV first, then upload that. Keep the values you want encoded in the first column and any human-readable labels in the second.

Can I add a prefix to a sequence of numbers?

Yes, in sequence mode. A prefix plus zero-padding gives evenly sized values such as SKU-00001 through SKU-00500. Prefixes only work with Code 128 and Code 39, since the retail symbologies require a fixed count of digits.

Are these barcodes free to use commercially?

Yes. No account, no attribution, no licence restriction and no expiry. Retail barcodes are a separate matter, since the number inside a UPC or EAN must be registered with GS1 before a retailer will accept it.