Barcode Generator for ITF‑14, I2 of 5 and VIN
Make an ITF-14, Interleaved 2 of 5 (I2of5), VIN, Code 128, Code 39, EAN-13 or UPC-A barcode. The check digit is worked out and checked for you. Set the bar width, height and quiet zone, then download SVG, or PNG at 203, 300, 600 or 1200 DPI to match your printer.
- 1Pick a type and enter data
- 2Set the size
- 3Download
1Barcode type and data
Build a GTIN-14 from the GTIN of the item inside
The indicator (1–8) is chosen by the brand owner for each packing level. The inner GTIN's own check digit is dropped and a new one is calculated.
2Size and options
X is the width of the narrowest bar. The defaults for each type come from the GS1 size tables or a common print size.
For printing straight onto cartons with plates: X 0.635 mm and a 4.83 mm bearer frame, per GS1.
3Your barcode
Enter data to see the barcode.
Everything is drawn in your browser; nothing you type is uploaded. We count visits and finished downloads (tool name only) with analytics that sets no cookies.
How to make a barcode
- Pick the type your label spec, customer or scanner asks for. If nobody has said, see “Which barcode type do I need?” in the FAQ.
- Type the data. For ITF-14, EAN-13 and UPC-A you can leave off the last digit and the check digit is added. Type the whole number and it is checked instead, so a typo is caught before you print.
- Set the size in millimetres. Module width X is the width of the narrowest bar; everything else scales from it. Keep the quiet zones (the blank margins) at the default or wider.
- Download. SVG is vector and is the better choice for print and label software. For PNG, choose your printer's DPI: the bars are snapped to whole pixels, and the note shows the X you actually get.
- Test-scan a printed copy with the scanner that will be used, before a full print run.
What is Interleaved 2 of 5 (I2of5)?
Interleaved 2 of 5, also written I2of5, I 2/5 or ITF, is a barcode that holds digits only. It is specified in ISO/IEC 16390. The name describes how it works:
- 2 of 5: every digit is drawn with five elements, two wide and three narrow.
- Interleaved: digits are encoded in pairs. The first digit of a pair is carried by five bars, the second by the five spaces between them.
- A start pattern of four narrow elements and a stop pattern of wide bar, narrow space, narrow bar frame the data.
Because digits travel in pairs, an I2of5 barcode always holds an even number of digits. If you type an odd number, this tool adds a leading 0 and tells you. An optional check digit uses the same 3-1 weighting as GS1 numbers. This tool offers wide : narrow ratios of 2.25 : 1, 2.5 : 1 and 3 : 1, the range GS1 sets for ITF-14, with 2.5 : 1 as the default. For a plain I2of5 label, use the ratio your scanner or label spec asks for.
What is an ITF-14 code?
ITF-14 is Interleaved 2 of 5 used to carry a 14-digit GTIN. GS1 describes it as the barcode for trade items that are not expected to pass through a retail checkout, and as better suited to printing straight onto corrugated board. The GS1 rules include:
- Always 14 digits, the last one a check digit.
- Quiet zones of at least 10X on both sides.
- Wide : narrow ratio of 2.25 : 1 to 3 : 1, with 2.5 : 1 as the target.
- Size: for items scanned in general distribution, X runs from 0.495 to 1.016 mm, and bars at least 31.75 mm tall (not counting text or bearer bars).
- Bearer bars are mandatory unless they aren't technically feasible. Printing plates need a 4.83 mm frame around the whole symbol. Other printing methods need bars at least twice the narrow bar width on the top and bottom.
- Leave at least 1.02 mm between the bearer bar and the human-readable digits.
- Printed straight onto corrugated board with plates (flexo, the usual way cartons are printed): GS1 says ITF-14 symbols with an X below 0.635 mm "SHOULD NOT be printed directly on corrugate with conventional (plate-based) processes." Use the “Corrugated board” preset for X = 0.635 mm with a 4.83 mm bearer frame. Labels and other printing methods can use the smaller X.
This tool uses those values as its ITF-14 defaults and warns you when you go outside them. GS1 also allows smaller sizes for items too small for the minimum; check your customer's label spec.
ITF-14 vs GTIN-14: what's the difference?
A GTIN-14 is the number. ITF-14 is one barcode that can carry it (GS1-128 is another). A GTIN-14 for a case is usually built from the GTIN of the item inside:
indicator (1–8) + inner GTIN without its check digit + new check digit
GS1's own example: the item 0614141123452 packed in a case with indicator 1 gives 1 061414112345 9. Try it in the “Build a GTIN-14” box above. Indicator 9 is reserved for variable-measure items.
How the check digit is calculated
ITF-14, EAN-13, UPC-A and the optional I2of5 check digit all use the GS1 method:
- Starting from the rightmost digit (before the check digit) and moving left, multiply the digits by 3, 1, 3, 1…
- Add the results.
- Subtract the sum from the nearest equal or higher multiple of ten. That's the check digit.
GS1's worked example is 629104150021. The sum is 57, and 60 − 57 = 3, so the full GTIN-13 is 6291041500213. If you type a full number with the wrong last digit, the generator refuses it and tells you the correct digit.
VIN barcodes
Under the US rule for vehicle identification numbers (49 CFR Part 565, from the NHTSA):
- A VIN has 17 characters.
- The letters I, O and Q are never used. The allowed letters are A–H, J–N, P, R–Z, plus the digits 0–9.
- Position 9 is a check digit. Each letter is given a value (A=1, B=2 … H=8, J=1 … N=5, P=7, R=9, S=2 … Z=9). Each character is multiplied by its position weight (8, 7, 6, 5, 4, 3, 2, 10, —, 9, 8, 7, 6, 5, 4, 3, 2) and the products are added. The remainder after dividing by 11 is the check digit, and a remainder of 10 is written as X.
The rule's own example, 1G4AH59H45G118341, adds up to 411. 411 ÷ 11 leaves 4, so the check digit is 4. This generator checks position 9 the same way and warns you if it doesn't match. Vehicles built for other markets may not follow the US rule.
Part 565 sets the characters, not a barcode format. Barcoded VIN labels are covered by industry specs such as SAE J1877 (current version J1877_202501, revised January 2025). This tool draws the VIN as Code 39, which holds every VIN character, or as Code 128, which is shorter. Use whichever your scanner or label spec asks for.
This is a barcode maker, not a VIN generator. It won't invent VINs or look up a vehicle.
Code 39, Code 128, EAN-13 and UPC-A
- Code 39 (ISO/IEC 16388) holds A–Z, 0–9, space and - . $ / + %. Start and stop * characters are added for you, and a mod 43 check character is optional. Some readers try “full ASCII” Code 39, where pairs such as +A or %U are read as other characters (one of the two decoders we test with does this by default). If your scanner is set that way, avoid those pairs.
- Code 128 (ISO/IEC 15417) holds any keyboard character and is more compact. This tool switches to the double-density digit mode for runs of digits automatically. It makes plain Code 128, not GS1-128 with application identifiers.
- EAN-13 and UPC-A are the retail checkout barcodes for GTIN-13 and GTIN-12. GS1's retail size table gives X from 0.264 to 0.660 mm, with 0.330 mm as the target. Quiet zones are 11X left and 7X right for EAN-13, and 9X on each side for UPC-A. The guard bars run 5X longer than the rest.
FAQ
What is an I2of5 barcode?
It's Interleaved 2 of 5, a digits-only barcode that encodes digits in pairs: one digit in the bars, the next in the spaces. It always holds an even number of digits. ITF-14 on shipping cartons is the best-known use.
How do I create an Interleaved 2 of 5 barcode?
Choose “Interleaved 2 of 5” above, type your digits, and tick “Add a check digit” if your system expects one. Set the size, then download SVG or PNG. If you type an odd number of digits, a leading 0 is added.
How do I generate an ITF-14 barcode?
Choose ITF-14 and type the first 13 digits of your GTIN-14; the 14th, the check digit, is added. Bearer bars, 10X quiet zones and GS1's size range are set by default. If you only have the GTIN-13 of the single item, use the “Build a GTIN-14” box.
Do I need to buy a barcode number from GS1?
For ITF-14, EAN-13 or UPC-A on products you sell through retailers or distributors, yes. Those GTINs come from GS1: you license a GS1 Company Prefix (or individual GTINs) from your local GS1 Member Organisation. This tool only draws the symbol for a number you already have. It doesn't issue, register or verify GTINs.
Is this barcode GS1 certified?
No. The bars follow the published structure, and every symbology here was decoded back with two independent barcode readers in our tests. But GS1 conformance is graded with a barcode verifier on the final printed label (ISO/IEC 15416), and print quality depends on your printer and material.
How can I make a barcode for a VIN?
Choose VIN, type or paste the 17 characters, and pick Code 39 or Code 128. The tool rejects I, O and Q, checks the length, and recalculates the position 9 check digit. If the check digit doesn't match, you get a warning but can still download.
Can it generate a random VIN?
No. It only encodes a VIN you supply. Real VINs are assigned by the vehicle manufacturer.
Which barcode type do I need?
Use whatever your customer, retailer or label spec names. As a rough guide: retail checkout uses EAN-13 or UPC-A, outer shipping cases use ITF-14, digits-only internal labels use Interleaved 2 of 5, and mixed letters and numbers use Code 128 or Code 39.
SVG or PNG, and what DPI?
SVG is vector: it stays exact at any size and is the safer choice for print and label design software. If you need PNG, pick the DPI of the printer it will go to (it's listed in the printer's specs). Bars are snapped to whole pixels, so the actual module width may differ slightly from what you typed; the note under the DPI shows it.
Why won't my barcode scan?
Common causes are a quiet zone that is too narrow or covered by other print, bars that are too small for the scanner, low contrast, and a PNG scaled by another program, which blurs the bars. Download again at the printer's own DPI, keep the default margins, and print at 100% size.