Category: Review

  • UPC vs EAN-13: Which Barcode Do US Sellers Actually Need?

    UPC vs EAN-13: Which Barcode Do US Sellers Actually Need?

    Header: one GS1 number printed in two regional lengths

    UPC vs EAN-13 really comes down to one digit. UPC-A is the 12-digit retail barcode for the US and Canada; EAN-13 is the 13-digit code used almost everywhere else. Both encode GS1 GTINs from the same system — a UPC-A is an EAN-13 with a leading zero. For US retail, license a GTIN from GS1 US and print UPC-A. Sunrise 2027 does not ban it.

    UPC vs EAN-13: The 3 Differences That Actually Matter

    For a US seller, this is a short answer. If your product gets scanned at a US or Canadian checkout, you print a UPC-A. UPC-A carries 12 digits and serves the US and Canada. EAN-13 carries 13 digits and serves almost everywhere else, as BoxHero describes the split.

    Neither format is technically better than the other. Both are GTINs drawn from the same global numbering system administered by GS1 — two regional lengths of one identifier family, not competing standards. That single fact removes most of the anxiety around this decision.

    It also helps to separate the number from the picture of the number. The bars are only a carrier. The licensed number is the product’s identity, and the symbol is simply how a scanner reads it. Vxceed puts it plainly: the GTIN, UPC, and EAN are the same idea at different lengths, all licensed from one standards body, while the barcode isn’t a number at all — it’s a picture of one.

    Why there are 12-digit and 13-digit versions of the same number

    The US grocery industry built the 12-digit UPC first, and the rest of the world standardized on a 13-digit version shortly after. Retail Scan & Stock describes the UPC-A as introduced in North American supermarkets in 1974, with the European Article Number developed shortly after to include a country code prefix. Because the 13-digit form needed room for that prefix, US numbers effectively became the same numbers with a zero in front.

    UPC vs EAN-13 at a glance (comparison table)

    Attribute UPC-A EAN-13
    Digit count 12 13
    GTIN equivalent GTIN-12 GTIN-13
    Primary region US and Canada Everywhere else
    Issuing body GS1 / GS1 US GS1 / GS1 US (regional member organizations)
    Scans at US checkout Yes Yes
    Typical package level Retail unit Retail unit

    Barcode vs GTIN vs SKU: three different things

    A GTIN is the global identity of a product configuration. A barcode is the machine-readable symbol that carries it. A SKU is a private, merchant-defined code that sits alongside the GTIN inside your own systems — it never replaces it. SKUs are internal and unregulated; GTINs are globally unique and licensed.

    Three-part concept diagram: GTIN, barcode, and SKU as different roles

    Which Barcode Should You Print? A Decision Tree for US Sellers

    Here’s the one-line rule: if you’re selling physical consumer goods in the US, print UPC-A from a GS1 US-licensed GTIN. Most readers won’t need an exception to that.

    The table below maps five real situations to a format.

    Your situation What to print Why
    US marketplace only (Amazon, Walmart Marketplace) UPC-A from a GS1 US GTIN The marketplace validates the number against the GS1 registry
    US retail shelf or big-box UPC-A from a GS1 US GTIN Retailers require a licensed GTIN and a unit-level symbol
    US seller exporting abroad The same GTIN, printed as EAN-13 The number does not change — only the printed length does
    Book or audiobook EAN-13 Bookland barcode from an ISBN Books use the ISBN, not a GS1 GTIN
    Internal inventory only Code 128 or your own store codes No GS1 license needed, because the code never leaves your building

    A single GS1 GTIN covers both markets. The same number prints as UPC-A domestically and as an EAN-13 with a leading zero abroad, so nobody needs to buy two numbers for one product.

    Internal-only labels never need a GS1 license, because they never leave your four walls. BoxHero states the rule directly: a GS1 barcode is required only when the product is sold through a retailer or marketplace that scans it at checkout or verifies it in a catalog.

    Three questions settle almost every case: where the item will be scanned, who verifies the number, and whether the code must resolve in a global registry.

    Simple decision flow for US sellers: US retail, export, or internal only

    US retail shelf vs US marketplace: same barcode, different validation

    The symbol is identical in both channels — a UPC-A at unit level. What differs is who checks it. A retail shelf buyer may accept your packaging spec after a vendor onboarding review, while a marketplace validates your GTIN programmatically against the GS1 database before your listing goes live.

    Selling internationally from the US: do you need an EAN-13 too?

    No. You need a 13-digit number the moment you print for a market that expects EAN-13, but you don’t need a second identifier. Add the leading zero to the same GTIN and render it as EAN-13. That’s a formatting step, not a licensing step.

    If your product is a book: ISBN / Bookland EAN instead of a UPC

    Books are the one common exception. According to ISBN Services, the 13-digit ISBN is converted into an EAN-13 barcode commonly printed on the back cover, often called the Bookland EAN barcode. The ISBN itself comes from the national agency — Bowker in the United States — so you don’t license a GS1 GTIN for the book edition. For the printing side, our guide to generating an ISBN barcode walks through the Bookland EAN requirements step by step. Non-book items bundled with a book, such as a tote, toy, or media accessory, still need their own GS1 GTIN.

    UPC vs EAN-13 Digit by Digit: Prefix, Item Reference and Check Digit

    Once you know what each position controls, you know which digits are yours and which ones you must not touch.

    What each digit position means in a UPC-A and an EAN-13

    Wikipedia’s UPC entry describes the UPC-A structure as SLLLLLLMRRRRRRE, where S, M, and E are guard patterns and the L and R sections carry the 12 digits. The first digit is a number system digit, and the last is an error-detecting check digit. In practice, the first section holds a GS1 company prefix assigned by the local GS1 organization, the middle holds the product reference, and the final digit validates the whole thing.

    EAN-13 follows the same logic with one extra position at the front. Vxceed summarizes every GTIN as three parts: a GS1 company prefix, an item reference assigned by the manufacturer, and a mathematical check digit at the end that verifies scanning integrity.

    Format Position 1 Company prefix Item reference Final digit
    UPC-A (12 digits) Number system digit Assigned by GS1 member organization Assigned by the brand Check digit
    EAN-13 (13 digits) Issuing-region prefix Assigned by GS1 member organization Assigned by the brand Check digit

    One caution about the EAN-13 prefix: it’s an issuing-region indicator, not a country of manufacture. It identifies which GS1 member organization issued the number. A product manufactured in China and sold by a US brand still carries a US prefix, because the US brand’s GS1 member organization issued that GTIN.

    How does the check digit work in a 12- vs 13-digit number?

    The check digit is the final modulo-10 computed digit used for error detection. For a UPC-A, you sum the digits in odd positions, multiply by 3, add the digits in even positions, take the remainder modulo 10, and subtract from 10. Wikipedia walks through the example 03600029145x, where the odd-position sum is 14, multiplied by 3 gives 42, plus the even-position digits gives 58, and 58 mod 10 = 8, so the check digit is 10 − 8 = 2.

    For an EAN-13, the developer walkthrough on DEV Community uses the same weighted logic with a different weight order: take the first 12 digits of 400638133393, multiply odd positions by 1 and even positions by 3, sum to 89, and reach the next multiple of ten — 90 — so the check digit is 1, giving the complete number 4006381333931.

    The error-detection math is worth knowing, because it explains why the check digit isn’t a formality. Wikipedia reports that UPC-A detects 100% of single-digit errors and roughly 89% of transposition errors — a transposition escapes detection only when the difference between two adjacent digits is 5, which works out to about 11.111% of transpositions being undetectable.

    GTIN-8, -12, -13 and -14: unit, inner pack, case and store-issued codes

    The GTIN family covers more than the two retail lengths. Retail Scan & Stock lays out the hierarchy: GTIN-8 for very small retail packages such as gum or cosmetics, GTIN-12 encoded in UPC-A for US and Canadian units, GTIN-13 encoded in EAN-13 globally, and GTIN-14 encoded in ITF-14 or GS1-128 symbols on outer shipping cartons and master cases.

    Two further categories sit outside that hierarchy. Variable-measure and restricted-circulation codes are store-assigned numbers for items weighed or priced at the point of sale — Wikipedia notes that number system 2 is reserved for local use for items sold by variable weight, where the store assigns an item number and the remaining digits carry weight or price. These aren’t GTINs at all, and they’re scoped to the store that issued them. Separately, JAN is Japan’s implementation of the EAN system — a regional name for the same 13-digit structure, not a different standard.

    Is a UPC-A Just an EAN-13 With a Leading Zero?

    Yes — mathematically. A 12-digit UPC-A is identical to the 13-digit EAN-13 formed by prefixing a zero. Retail Scan & Stock gives the worked example: UPC 012345678905 is represented in global 13-digit databases as 0012345678905. The same equivalence is corroborated by BoxHero and Vxceed, both of which describe the leading-zero relationship in the same terms.

    One GTIN shown as a 12-digit UPC-A and a 13-digit EAN-13 with leading zero

    The practical consequences are simple. You don’t buy a new number to sell the same item internationally, and you don’t need to convert anything on the package artwork beyond choosing which length to render.

    Conversion is a formatting operation, not an identity change. A genuinely new product, size, flavor, or multi-pack still needs its own GTIN — reusing one number across variants is a separate mistake that has nothing to do with the UPC-versus-EAN-13 question.

    Do US checkout scanners actually read EAN-13 barcodes?

    Yes. Modern US point-of-sale systems are built to read 13-digit EAN-13, since a US UPC-A is the leading-zero form of the same number. Retail Scan & Stock notes that since the 2005 GS1 Sunrise initiative, virtually all modern retail scanners and smartphone camera decoders read both UPC-A and EAN-13 formats. A US product should still print UPC-A, because that’s what US packaging standards, retailers, and marketplace listings expect.

    UPC-E and EAN-8: the compressed formats people confuse with UPC-A and EAN-13

    These are separate small-package symbologies, not shortened versions you generate by trimming digits. BoxHero describes UPC-E and EAN-8 as compressed forms for items like a stick of gum or a small cosmetic tube. If you’re weighing the small-package forms, this EAN-13 vs EAN-8 comparison covers the shorter format in detail. Wikipedia adds that UPC-E suppresses the number system digit, trailing zeros in the manufacturer code, and leading zeros in the product code, and can only correspond to UPC-A number systems 0 or 1.

    How to Get a UPC or EAN-13 in the US: GS1 Licensing and Costs

    GS1 US is the authoritative issuer in the United States. You license numbers — you don’t buy a barcode image from a generator.

    There are two routes. A single GS1 US GTIN covers one product. A GS1 Company Prefix covers a catalog, and the prefix is what lets you assign numbers yourself per item and per packaging level.

    On reported pricing, BoxHero states that a single GS1 US GTIN costs a one-time $30 with no annual renewal fee, and that a GS1 Company Prefix carries an initial fee based on how many numbers you need plus an annual renewal fee, with published first-year figures starting at a few hundred dollars. Retail Scan & Stock reports the same $30 individual GTIN figure and notes that other GS1 member organizations apply regional fee structures. Treat these as published figures to verify at source — check gs1us.org before you budget.

    Assign a distinct GTIN to every sellable variant and to each packaging level: each, inner pack, and case. Reusing one number across variants is the most common expensive mistake, because it corrupts stock records, orders, and sales history at the same time — and the damage tends to surface late.

    Single GTIN vs a GS1 Company Prefix: how to choose

    Choose a single GTIN if you’re listing a handful of products and don’t expect to change packaging levels soon. Choose a company prefix the moment you have a catalog, multiple sizes, or case-level labeling to manage, because the prefix is what lets you assign the next number yourself instead of starting a new purchase each time. BoxHero notes that once you license the number, the GS1 US Data Hub generates the barcode image as a PNG or EPS file at one fixed size.

    Are third-party reseller barcodes safe to use?

    Cheap reseller codes are real numbers, but they carry a hidden mismatch. According to BoxHero, these codes come from GS1 company prefixes bought before 2002 that remain legally transferable under a court settlement, and for some purposes they scan fine. The problem is ownership: a code registered to the reseller’s original company name can fail a marketplace check even though the bars scan correctly at a register.

    Free barcode generators and validators render symbols and check digits accurately — Yotpo’s generator, for example, handles the specific digit rules and check digit calculation for UPC-A and EAN-13 — but none of them grant you a licensed number. Marketplaces check the registry, not the image.

    US Barcode Launch Checklist: From GS1 License to Printed Symbol

    This sequence runs from licensing to a scanned proof. Each step names the failure point it prevents.

    1. License the GTIN from GS1 US. Failure point: buying a reseller code whose registry owner does not match your brand.
    2. Assign a number per variant and per packaging level. Failure point: two flavors or two sizes sharing one code, which corrupts stock records and listings.
    3. Create artwork with the correct symbology for the number. Failure point: applying an EAN-13 symbol to a 12-digit payload, or the reverse.
    4. Meet size and quiet-zone rules. Failure point: a barcode placed outside the quiet zone, which produces a symbol that will not scan.
    5. Scan-test a printed proof with a real scanner. Failure point: discovering a rendering problem after the full print run.
    6. Store the number as text. Failure point: database or spreadsheet handling that silently alters the identifier.
    7. Verify the number against marketplace metadata. Failure point: a catalog mismatch that reads as an invalid GTIN during listing review.
    8. Keep the human-readable digits complete. Failure point: truncated digits printed under the bars, which breaks manual key entry when a scanner fails.

    The print specifications your printer needs

    Treat these as the spec you hand your printer, not trivia. Wikipedia gives the nominal x-dimension for UPC-A as 0.33 mm (0.013 in) and the nominal symbol height as 25.9 mm (1.02 in), with guard pattern bars extended downward by five times the x-dimension. A complete UPC-A is 95 modules wide: 84 modules for the 12 digits plus 11 modules for the start, middle, and end guard patterns. A quiet zone at least 9 times the x-dimension wide must be present on each side. UPC-A can be reduced or magnified anywhere from 80% to 200%.

    For developers and ops: storing, normalising and validating barcode data

    Spreadsheet and database handling is where clean identifiers go wrong. Retail Scan & Stock identifies three specific failure modes: leading zeros dropped because a spreadsheet reads 012345678905 as the number 12345678905; long digit strings displayed in scientific notation; and a 15-digit numeric precision limit that converts digits past the 15th position to zeroes. Microsoft Support documentation confirms the 15-significant-digit limit, and the recommended fix is to format the column as Text before entering or importing identifiers.

    The DEV Community validator walkthrough makes the same point from the engineering side: keep barcode values as strings, never pass them through Number(), and validate the check digit before rendering anything. That author also draws a boundary worth keeping: a passing check digit means the number satisfies the mathematical rule — it does not mean the number was licensed correctly, that the product exists, or that a marketplace will accept it.

    Why Amazon, Walmart and Target Reject Some Seller Barcodes

    Marketplaces verify the GTIN against the GS1 registry and expect the brand and company on record to match the listing. A real but mismatched number fails that check and is treated as an invalid GTIN.

    The rejection mechanism is catalog mismatch — not a broken barcode, and not a UPC versus EAN-13 format problem. This distinction matters, because sellers often respond to a rejection by reprinting the symbol, which fixes nothing.

    How marketplace GTIN validation actually works

    BoxHero describes the process: Amazon checks the barcode you enter against the GS1 database and expects the brand and company on record to match your listing, and Amazon’s barcode policy states that it verifies UPCs through the GS1 database and treats codes that do not match GS1’s information as invalid. A reseller code registered to the reseller’s original company name can fail that check, so even when the code scans, a listing may be rejected for an invalid GTIN. The practical safeguard is to license codes directly from GS1 US for anything going to Amazon, Walmart, or Target, and to keep the GS1 certificate on hand — these marketplaces can ask you to prove the code is registered to your company.

    ASIN is not a GTIN (and a case code is not a unit code)

    Two further mismatches cause avoidable rejections. An ASIN is Amazon’s own catalog identifier and does not replace a GTIN anywhere else, as Vxceed notes in its list of external identifiers a SKU maps to online. And a GTIN-14 case code will not scan as a retail unit — Retail Scan & Stock warns against scanning a master carton symbol as an individual piece count on the sales floor.

    Sunrise 2027 and 2D Barcodes: What Changes for Your UPC-A

    Sunrise 2027 is a GS1 target for retail point-of-sale systems to read 2D codes — QR, GS1 DataMatrix, GS1 Digital Link — alongside the 1D barcodes they read today. It is a target, not a government mandate.

    Sunrise 2027 in one paragraph: target, not mandate

    In BoxHero’s rendering, GS1 states that “by the end of 2027, retail point-of-sale systems should be able to read and process 2D barcodes in addition to the 1D barcodes they read today.” Three things keep this in proportion: the UPC is not being banned, there is no fine for skipping it, and the pressure comes from large retailers rather than regulators. A 1D barcode holds one piece of information — the GTIN — while a 2D code holds several thousand characters, including batch number, expiration date, serial number, and a web link tied to the product. Adoption is already underway: GS1 reports the transition is being tested in 48 countries representing 88% of the world’s GDP, per a 2024 GS1 statement cited by BoxHero.

    The practical action now is small. Keep printing the UPC-A, leave label real estate for a future 2D carrier, and make sure your GTIN data is clean enough to power one. GS1 suggests printing both the 1D and 2D barcode on the same package during the switch.

    1D barcode and 2D code coexisting on the same product label

    From the first 1974 scan to 2D in 2027

    The 1D retail barcode has been in continuous use since the first UPC scan. Wikipedia records that the first UPC-marked item scanned at retail checkout was a 10-pack of Wrigley’s Juicy Fruit chewing gum, purchased at the Marsh supermarket in Troy, Ohio, at 8:01 a.m. on 26 June 1974, ringing up 67 cents on an NCR cash register.

    That longevity was deliberate. Murray Eden, a consultant on the team that created the UPC barcode and chairman of a committee of scientists at MIT, helped, in his 1970s-era phrasing, “select a symbol that would endure the inevitable rush of technology that lay ahead.” He also chose the font and introduced the human-readable digits below the bars as a fail-safe in case a reader malfunctioned. GS1 now frames Sunrise 2027 as coexistence rather than replacement — which is exactly consistent with a symbol chosen for endurance more than fifty years ago. The history of QR codes tells the same story from the other direction: a 2D carrier invented for Toyota factory floors that now shares labels with the 1D symbol it was never meant to replace.

    Conclusion

    UPC vs EAN-13 is not a choice between competing standards — it is one GS1 number printed in two regional lengths, and US sellers print the 12-digit UPC-A. License a GTIN from GS1 US (verify current pricing at gs1us.org before budgeting), assign a separate number to every variant and packaging level, generate the symbol to spec, scan-test a physical proof, and store the number as text. Reserve label space for a 2D carrier, but do not reprint anything for Sunrise 2027 — it is a target, not a mandate.

    FAQ

    Can I convert a 12-digit UPC to an EAN-13, or do I need to buy a new number?

    No purchase is required. Add a leading zero to the 12 digits and the result is the valid EAN-13 for the same item — for example, 012345678905 becomes 0012345678905. The conversion changes formatting only, never identity. You still need a new GTIN for a genuinely new product, size, flavor, or multi-pack.

    Do US checkout scanners actually read EAN-13 barcodes?

    Yes. Modern US point-of-sale systems are built to read 13-digit EAN-13, since a US UPC-A is the leading-zero form of the same number — Retail Scan & Stock notes that virtually all modern retail scanners read both formats. A US product should still print UPC-A, because that is what US retailers and marketplace listings expect.

    Can I just make up my own barcode number for my product?

    No. The number must come from a GS1-issued prefix so it resolves uniquely in the global registry. A self-invented number may render and even scan locally, but marketplaces and retailers that validate against GS1 will reject it. Internal-only labels for your own warehouse can use your own codes, because they never need to resolve globally.

    Is a UPC the same thing as a GTIN?

    A GTIN is the umbrella identifier family, and UPC-A (GTIN-12) and EAN-13 (GTIN-13) are two of its lengths. GTIN-8 covers small packages and GTIN-14 covers cases and pallets, so “GTIN” is the safe general term. Most US retail listings that ask for a “UPC” will accept any valid GTIN.

    Why does my barcode turn into scientific notation in Excel?

    Spreadsheets treat long digit strings as numbers, strip the leading zero, and switch to scientific notation past 15 digits. Retail Scan & Stock notes that Excel numeric precision is limited to 15 significant digits, so digits past the 15th position can become zeroes. Store barcode values as text and validate the check digit before exporting to artwork — and always keep the leading zero on a 13- or 14-digit GTIN.

    Will my UPC stop working in 2027 because of Sunrise 2027?

    No. Sunrise 2027 is a GS1 target for retail POS to read 2D barcodes alongside 1D, not a ban or a deadline for brands. There is no fine for non-compliance and UPC-A and EAN-13 remain scannable. The practical move is to keep printing your UPC and reserve label space for a future 2D carrier.

    Do books need a UPC, or is the ISBN barcode enough?

    Books carry a 13-digit ISBN encoded as an EAN-13 Bookland barcode, not a UPC-A, according to ISBN Services. ISBNs come from Bowker in the US, so you do not license a GS1 GTIN for the book itself. Non-book items bundled with a book — a tote, a toy, a media accessory — still need their own GS1 GTIN.

    Do I need a separate UPC for each size, color, or multi-pack?

    Yes. Every sellable variation that a retailer scans or stocks separately needs its own distinct GTIN. Different packaging levels also differ: each unit, inner pack, and case carry their own GTIN, with GTIN-14 and ITF-14 on cases. Reusing one number across variants is a leading cause of listing rejections and inventory errors.

  • EAN-13 vs EAN-8: Which Barcode Format Fits Your Product?

    EAN-13 vs EAN-8: Which Barcode Format Fits Your Product?

    Pick up any product in a store and you’ll find a barcode somewhere on the packaging. Most of the time, that’s an EAN-13 — 13 digits stretched across a familiar strip of black and white bars. But occasionally, on something tiny like a pack of gum or a tube of lip balm, you’ll spot a shorter, more compact barcode: EAN-8.

    Both formats do the same job — giving each product a unique, scannable ID — but they’re built for different situations. This guide walks through the real differences between EAN-13 and EAN-8, when to use each one, and how they fit into the broader GS1 barcode ecosystem.

    EAN-13 vs EAN-8: Key Differences at a Glance

    The biggest distinction between these two formats comes down to how many digits they carry and how much physical space they take up on a label.

    Feature EAN-13 EAN-8
    Digits 13 8
    Module width 95 modules 67 modules
    Minimum print width ~1.5 inches (38 mm) ~1 inch (26 mm)
    Typical use Standard retail products Very small packaging
    Managed by GS1 GS1

    An EAN-13 barcode encodes 13 digits and is made up of 95 equal-width modules, according to Wikipedia. EAN-8 only encodes 8 digits, which produces a much narrower barcode — roughly two-thirds the width.

    How to Choose: A Simple Decision Tree

    For anyone deciding which format to use, the logic is straightforward:

    1. Standard products — If your packaging has room for a barcode at least 1.5 inches wide, go with EAN-13. It’s the default requirement for retail worldwide.
    2. Small items — If the printable area on your product is too tight for EAN-13, you can apply for an EAN-8.

    A simple 2-step decision tree: Is packaging small? No -> EAN-13; Yes -> EAN-8.

    Something people often overlook is the Quiet Zone — the blank white space on both sides of the barcode. According to Wikipedia, EAN-13 barcodes frequently include a right-side > indicator that marks where the Quiet Zone begins. This visual marker helps scanners find the edges of the code so they aren’t confused by nearby graphics or text.

    When EAN-8 Is the Right Call: The Surface Area Rule

    EAN-8 isn’t a free alternative — it’s a specialized format for products that genuinely can’t fit a standard barcode. As Barcodes South Africa explains, because only 8 digits are available (far fewer unique combinations than 13 digits), GS1 Member Organizations only assign EAN-8 numbers to manufacturers who can demonstrate that their packaging is too small for EAN-13.

    In practice, this means you’ll see EAN-8 on items like:
    – Individual candy bars or chewing gum packs
    – Small cosmetic items (lip balm, mascara)
    – Packets of seeds or spices
    – Tiny electronics accessories

    If your product has enough space, EAN-13 is always the default.

    Technical Specifications: How Are EAN Formats Structured?

    Behind the bars, EAN formats follow a precise structure that ensures every product gets a globally unique ID through the GS1 (Global Standards 1) system.

    EAN-13 Structure:

    • GS1 Prefix (3 digits): Identifies which GS1 Member Organization issued the code. For example, 590 is Poland, 400–440 is Germany.
    • Manufacturer Code (variable length): The unique identifier assigned to a company.
    • Product Code (variable length): The specific number the company assigns to a particular item (essentially the SKU).
    • Check Digit (1 digit): The final digit, calculated from all previous digits to catch scanning errors.

    EAN-8 Structure:

    EAN-8 works differently — there’s no variable-length manufacturer code. The numbering authority assigns product codes directly. According to Oracle, any company can request an EAN-8 even if they already hold an EAN-13 prefix, but the two numbers have no mathematical relationship to each other.

    A visual breakdown of EAN-13 components using color-coded segments.

    Both formats are remarkably reliable at catching errors. Wikipedia notes that EAN-13 detects 100% of single-digit errors and 90% of transposition errors (where two adjacent digits get swapped). That means if a scanner misreads even one bar, the check digit will almost always flag it.

    Is EAN-13 Accepted in the US? Comparing with UPC-A

    A common concern for companies selling internationally is whether EAN-13 works in the United States, which historically used its own 12-digit UPC-A format.

    The short answer: yes, completely. The “2005 Sunrise” initiative — now long-standing policy — requires every point-of-sale system in the US and Canada to accept both EAN-13 and UPC-A. In fact, EAN-13 is technically a superset of UPC-A. A UPC-A barcode is simply an EAN-13 where the first digit is 0.

    What this means in practice:
    – If you’re a global brand, you can use EAN-13 everywhere — no separate UPC-A codes needed.
    – American retailers can scan your EAN-13 products without any configuration changes.

    There are also specialized prefixes within the EAN-13 system worth knowing about. The Bookland prefixes (978 and 979) embed ISBNs directly into EAN-13, allowing books to be scanned at any standard retail checkout regardless of where they were published.

    GTIN Integration and Database Normalization

    Both EAN-13 and EAN-8 are part of the Global Trade Item Number (GTIN) family. When products with different barcode lengths end up in the same database — say, a warehouse management system — they need a consistent format. That’s where GTIN-14 comes in.

    The normalization is straightforward: pad the shorter codes with leading zeros.

    Barcode GTIN-14
    EAN-13: 4006381333931 04006381333931 (1 leading zero)
    EAN-8: 96385074 00000096385074 (6 leading zeros)

    In systems like Oracle WMS, all GTINs are right-aligned and padded to 14 digits so a single database field can handle everything from a tube of lip balm to a full pallet.

    A simple visualization of "Zero Padding" to align EAN-8 and EAN-13 into GTIN-14 blocks.

    How to Calculate the Check Digit (Modulo-10, Step by Step)

    The last digit of any EAN barcode isn’t random — it’s calculated using the Modulo-10 algorithm. Modern software handles this automatically, but understanding the math is useful if you’re generating barcodes programmatically or troubleshooting a scanning issue.

    Example: verifying the check digit for EAN-13 400638133393?

    Step 1 — Starting from the right (excluding the check digit), assign alternating weights of 3 and 1:

    Position 12 11 10 9 8 7 6 5 4 3 2 1
    Digit 4 0 0 6 3 8 1 3 3 3 9 3
    Weight 1 3 1 3 1 3 1 3 1 3 1 3
    Product 4 0 0 18 3 24 1 9 3 9 9 9

    Step 2 — Add up all products: 4 + 0 + 0 + 18 + 3 + 24 + 1 + 9 + 3 + 9 + 9 + 9 = 89

    Step 3 — Find the next multiple of 10 (which is 90). Subtract: 90 − 89 = 1.

    The check digit is 1, making the full barcode 4006381333931.

    This is a good sanity check to run during label design — catching a wrong check digit before you print thousands of labels saves both money and time.

    Conclusion

    EAN-13 is the global workhorse of retail barcoding — it’s what you’ll use for the vast majority of products. EAN-8 is the compact alternative, reserved for items where packaging space is genuinely too tight for a standard barcode. Both formats are managed by GS1, both use the same Modulo-10 check digit system, and both are scanned reliably by every modern POS system worldwide — including in the US and Canada.

    The decision comes down to surface area. If your packaging can accommodate a barcode at least 1.5 inches wide, use EAN-13. If it can’t, apply for an EAN-8 through your local GS1 office. Either way, your product will scan correctly throughout the entire supply chain.

    FAQ

    Can I convert an EAN-8 code into an EAN-13 code?

    No — they are completely separate identifiers. EAN-8 numbers are assigned directly by GS1 and have no connection to your EAN-13 manufacturer prefix. If you need an EAN-13 code, you’ll need to use a number from your assigned EAN-13 block.

    Is EAN-13 accepted in the United States and Canada?

    Yes. Since the 2005 Sunrise agreement, every modern POS system in North America scans both UPC-A and EAN-13 without issue. Most global brands now use EAN-13 exclusively to keep things simple across all markets.

    What happens if I scan an EAN-8 barcode in a system that expects 14 digits?

    The system will zero-pad the 8-digit code by adding six leading zeros to fill the GTIN-14 field (e.g., 000000XXXXXXXX). This is standard practice in systems like Oracle WMS to keep database records consistent across different product sizes.

  • Code 128 vs Code 39: Barcode Differences Explained (2026)

    Code 128 vs Code 39: Barcode Differences Explained (2026)

    If you work with barcodes — whether in shipping, healthcare, manufacturing, or retail — you’ve likely encountered both Code 128 and Code 39. They’re two of the most common 1D barcode formats, and in 2026, the choice between them comes down to how much data you need to encode and how much label space you have.

    Code 128 is the modern standard: high-density, full ASCII support, and a mandatory check digit. Code 39 is the older, simpler alternative that works well for short strings but becomes unwieldy with longer data. This guide breaks down the differences and helps you pick the right one.

    Code 128 vs Code 39 at a Glance

    Feature Code 128 Code 39
    Data density High — fits more data in less space Low — gets wide quickly
    Character set Full 128 ASCII characters 43 characters (uppercase, digits, few symbols)
    Lowercase support Native Only via “Extended” mode (doubles barcode length)
    Check digit Mandatory (Modulo 103) Optional
    Bar/space widths 4 widths (1, 2, 3, 4 units) 2 widths (narrow and wide)
    Best for Logistics, shipping, complex data Simple internal tracking, legacy systems

    The physical footprint difference is striking. According to Peak Technologies, you should switch from Code 39 to Code 128 if your data string is longer than 15 characters. A 20-character ID in Code 39 might not fit on a standard 2-inch label, while Code 128 keeps it compact.

    A side-by-side scale comparison showing Code 128 is much shorter than Code 39 for the same data

    Modern scanners (area imagers and smartphone apps) read both formats easily. But Code 128 has the edge in reliability because its built-in error detection prevents misreads in high-volume environments.

    Data Density: Why It Matters

    Data density is how many characters fit into a single inch of barcode. Wikipedia explains that Code 128 uses four different widths for bars and spaces, while Code 39 uses only two. This precision makes Code 128 roughly twice as dense for numeric data — often the only 1D barcode that works for tiny items like medical vials or small electronics.

    Character Support

    • Code 39 (Standard): 43 characters — uppercase A–Z, digits 0–9, and a handful of symbols (-, ., $, /, +, %, space).
    • Code 128: All 128 ASCII characters — uppercase, lowercase, symbols, and even control characters like carriage returns.
    • Code 39 Extended: Can encode lowercase via character pairs (e.g., “+A” for lowercase “a”), but as Peak Technologies notes, this is “wasteful of space” and makes the barcode unnecessarily long.

    Why Code 128 Is the Modern Logistics Standard

    Code 128 powers global shipping through the GS1-128 standard, which uses “Application Identifiers” to structure data like batch numbers, expiration dates, and serial numbers.

    Mandatory Check Digit (Modulo 103)

    In Code 39, a checksum is optional. In Code 128, it’s built-in — the barcode appends a calculated value that the scanner verifies on every read. This virtually eliminates the risk of a “wrong” scan in busy warehouses.

    Optimization Through Code Sets A, B, and C

    Code 128 stays compact by switching between three internal modes:

    Code Set Optimized For Key Advantage
    A Uppercase letters + control codes Industrial applications
    B Standard alphanumeric + lowercase General-purpose text
    C Numeric-only data Two digits per symbol — most efficient for numbers

    Wikipedia explains that Code Set C packs two digits into a single barcode symbol. For long numeric strings, this is incredibly efficient. Research by Steven Skiena shows that smart Code Set selection can make a barcode 8% smaller on average than using a static setting.

    Simple visual showing how Code Set C pairs two digits into one symbol

    Is Code 39 Still Relevant?

    Code 39 still has a place in 2026 because it’s simple and forgiving. It’s “self-checking” — the gaps between characters help isolate errors — which makes it work well with low-resolution printers or older industrial scanners.

    You’ll still find Code 39 in:
    – US Department of Defense (LOGMARS standard)
    – Healthcare internal tracking
    – Automotive legacy systems

    The problem arises with Code 39 Extended. Encoding a single lowercase “a” requires printing “+A” — doubling the barcode length. If your tracking IDs use mixed-case letters, Code 39 Extended is a poor choice.

    Technical Specs: X-Dimension and Quiet Zones

    How well a barcode scans depends on the X-dimension — the width of the narrowest bar. According to GS1 2026 standards, the minimum X-dimension for retail checkouts is 0.264 mm (0.0104 inches).

    Both formats also need a Quiet Zone — blank white space on both ends of the barcode, at least 10× the width of the narrowest bar. Without it, scanners can’t determine where the barcode starts and stops.

    Scanner Compatibility

    Scanner Type Works Best With Notes
    Laser scanners Longer, taller barcodes Need a clear laser path across all bars
    Area imagers (2026 standard) Both formats, including high-density Code 128 Can read damaged or tilted labels
    Smartphone cameras Both Native support in iOS/Android

    Per Gitnux 2024, the retail sector handles 42% of global daily scans — which is why the industry is moving toward more reliable area imaging standards.

    Conclusion

    Code 39 is fine for simple, short internal tracking IDs — especially in legacy systems with older scanners. Code 128 is the clear choice for anything else: it’s smaller, supports more characters, includes mandatory error checking, and is the backbone of modern logistics.

    Decision rule:
    – Data shorter than 10–15 characters, uppercase only → Code 39 is acceptable
    – Anything longer, or with mixed case / symbols → Code 128
    – GS1-128 compliance required → Code 128 (no other option)

    When designing labels, ensure your narrowest bar meets the 0.264 mm GS1 standard to guarantee readability worldwide.

    FAQ

    Can Code 39 encode lowercase letters?

    Standard Code 39 only supports uppercase letters, digits, and a few symbols. To encode lowercase, you need Code 39 Extended, which uses character pairs (e.g., “+A” for “a”). This significantly increases the barcode’s physical length, making it far less efficient than Code 128.

    Why is Code 128 more “dense” than Code 39?

    Code 128 uses four bar/space widths (vs. Code 39’s two), and its Code Set C encodes two digits per symbol. This makes Code 128 roughly twice as dense as Code 39 for numeric data, saving valuable label space.

    Do I need a check digit for Code 39 barcodes?

    It’s optional for Code 39 but recommended in high-stakes environments. Code 128 has a mandatory Modulo 103 checksum built into its specification, making it inherently more reliable for high-volume scanning.

    Which barcode type is better for small items with limited label space?

    Code 128 — its higher density means you can print it at a larger X-dimension (easier for scanners to read) within the same physical space where a Code 39 barcode would be cramped and hard to scan.

  • ISBN 10 vs 13: Key Differences, Conversion Guide, and the 979 Prefix Explained

    ISBN 10 vs 13: Key Differences, Conversion Guide, and the 979 Prefix Explained

    Every book published today carries a 13-digit ISBN — the universal identifier that makes it scannable at any checkout counter worldwide. But if you’ve been around books long enough, you’ve probably seen the older 10-digit format too. Understanding the difference between them, how to convert between the two, and why the newer “979” prefix changes everything is essential knowledge for publishers, librarians, and anyone working with book metadata in 2026.

    This guide covers the structural differences, walks through the conversion math, explains why 979-prefixed ISBNs can’t go back to 10 digits, and breaks down what you’ll pay for ISBNs today.

    ISBN-10 vs ISBN-13: Core Differences

    The ISBN system’s biggest transition happened on January 1, 2007, when the industry moved from 10 digits to 13. As Wikipedia documents, the change served two purposes: expanding the pool of available numbers globally and aligning books with the EAN-13 barcode system used by virtually every retailer.

    Structural Breakdown

    Component ISBN-10 ISBN-13
    Total digits 10 13
    GS1 prefix None 978 or 979
    Registration group Language/country Language/country
    Registrant Publisher Publisher
    Publication Specific title/edition Specific title/edition
    Check digit Modulus 11 (0–9 or X) Modulus 10 (0–9 only)

    LiteDevTools notes that ISBN-13 is now required for modern inventory systems — it allows a book to be scanned at checkout using the same GTIN-13 data fields as any other consumer product.

    ISBN-10与ISBN-13结构的直观对比

    When to Use Which Format

    • Modern publications — Any book published after 2007 must have an ISBN-13.
    • Legacy databases — ISBN-10 is still useful for tracking old backstock or organizing library catalogs.
    • Barcodes — The scannable EAN-13 barcode on a book’s back cover requires the 13-digit version.

    The 979 Prefix: Why You Can’t Convert It Back

    The “979” prefix was a turning point for the ISBN system. Originally, all 13-digit ISBNs started with “978” — essentially a bridge connecting the 10-digit world to the 13-digit one. But as the supply of 978 numbers began running out in certain regions, GS1 introduced the 979 prefix as a new namespace.

    Regional 979 Assignments (2026)

    According to EAN Check, specific 979 prefixes are now locked in for high-output regions:

    Prefix Region / Use
    979-8 United States
    979-10 France
    979-11 Republic of Korea
    979-12 Italy
    979-0 International Standard Music Numbers (ISMN)

    Why 979 Has No ISBN-10 Equivalent

    This is a common source of confusion. While 978-prefixed ISBNs have a direct mathematical link to a 10-digit equivalent, 979 ISBNs have no ISBN-10 counterpart. As Wikipedia explains, these registration groups never existed in the old 10-digit system. If your book is assigned a 979-8 prefix in the US, it exists only as a 13-digit identifier — there is no way to “downgrade” it.

    Step-by-Step ISBN Conversion Guide

    Converting an ISBN-10 to ISBN-13 isn’t just about adding “978” to the front — the final check digit must be recalculated from scratch.

    How to Convert ISBN-10 to ISBN-13

    1. Drop the check digit — Remove the last character (the 10th digit) from your ISBN-10.
    2. Prepend “978” — Add it to the front of the remaining 9 digits.
    3. Calculate the new check digit using the GS1 Modulo-10 algorithm:
    4. Multiply each of the 12 digits by alternating weights of 1 and 3 (starting with 1).
    5. Add up all the products.
    6. Find the remainder when divided by 10.
    7. Subtract the remainder from 10. (If the result is 10, the check digit is 0.)

    ISBN-10到13的转换三步法

    Worked Example

    EAN Check demonstrates that ISBN-10 0-306-40615-2 converts to ISBN-13 978-0-306-40615-7. Notice the check digit changed from 2 to 7 — this happens because the weighting and modulus are different between the two systems.

    Why the Check Digit Changes

    ISBN-10 uses Modulus 11 (which allows the letter “X” to represent 10), while ISBN-13 uses Modulus 10 (digits 0–9 only). Because the math and weights differ, the check digit almost always changes during conversion.

    2026 Publishing Standards: Costs and Requirements

    In the US, Bowker is the sole authorized ISBN agency. For self-published authors, the cost structure matters.

    Bowker Pricing (2026)

    According to Books.by:

    Quantity Price Per ISBN
    1 ISBN $125 $125.00
    10 ISBNs $295 $29.50
    100 ISBNs $575 $5.75

    Books.by points out that the $125 single-ISBN price is a bit of a trap — since every format of your book (paperback, hardcover, ebook, audiobook) needs its own ISBN, a 10-pack is almost always the smarter choice for indie publishers.

    You Need a Separate ISBN for Each Format

    Format ISBN Required? Notes
    Print (paperback/hardcover) Yes Required for bookstores and libraries
    Ebook (Amazon KDP) Optional Amazon assigns its own ASIN
    Ebook (other platforms) Yes OverDrive and library platforms require it
    Audiobook Yes Required by ACX, Findaway Voices

    International Comparison

    The US is unusual in charging for ISBNs. Wikipedia and Books.by report that ISBNs are free in Canada, India, and New Zealand, where the government manages the system directly.

    Conclusion

    The shift from ISBN-10 to ISBN-13 isn’t just a technical detail — it’s a requirement for getting your book into the modern supply chain. ISBN-10 remains useful as a historical tool for legacy databases, but the 13-digit format is the global language of the 2026 book market. The rise of the 979 prefix in the US and Europe reinforces this: the old 10-digit system has reached its limits.

    For most publishers, the practical takeaway is simple: buy ISBN-13 codes in bulk (10 or 100 packs) to cover every format, use validation tools to keep your metadata clean, and don’t try to convert 979-prefixed numbers back to 10 digits — it can’t be done.

    FAQ

    Why did the ISBN change from 10 to 13 digits in 2007?

    To prevent a shortage of available numbers as global book production grew, and to align the ISBN system with the GS1 EAN-13 barcode standard used by retailers worldwide. This allows books to be scanned using the same equipment as any other consumer product.

    Can every ISBN-13 be converted to an ISBN-10?

    No. Only ISBN-13 numbers beginning with “978” can be converted back to 10 digits. Numbers starting with “979” belong to a newer namespace that was never part of the 10-digit system — they have no ISBN-10 equivalent.

    What is the “X” found in some ISBN-10 numbers?

    The “X” represents the value 10 as a check digit. Because ISBN-10 uses Modulus 11 for error detection, there are 11 possible remainders (0–10). To keep the ISBN at exactly 10 characters, the Roman numeral “X” was adopted for a remainder of 10.

    Do I need a different ISBN for my ebook and my paperback?

    Yes. Every distinct format and edition — paperback, hardcover, ebook, and audiobook — requires its own unique ISBN. This allows retailers and libraries to track each product separately, even when the text content is identical.

    Where should the ISBN be placed on a physical book?

    According to the ISBN User’s Manual, the number must appear on the copyright page (verso of the title page) and on the lower section of the outside back cover. For print books, the ISBN is typically integrated into an EAN-13 barcode for retail scanning.