QR Decode
Decode a QR

Local barcode tool

UPC-A to EAN-13 Converter

Be the first to rate this page.

Convert the standardized UPC-A and EAN-13 leading-zero representations in the browser.

Calculated in this browser. Nothing entered here is uploaded.

Processed locally

Your input stays in this browser.

Ready to verify

Review the result before saving or printing.

No expiry

Static codes keep working without a subscription.

The conversion is representation, not renumbering

A UPC-A contains 12 digits: eleven data digits and a check digit. Its EAN-13 representation is the same sequence with one zero placed in front: UPC-A 036000291452 becomes EAN-13 0036000291452. The new leading zero is not a new item digit, and the original modulo-10 check digit remains the last character. This converter refuses an EAN-13 value whose first digit is not zero because no lossless UPC-A representation exists.

Check the example

For UPC-A body 03600029145, alternate right-to-left weights 3 and 1 give 58. The final digit is 2, making 036000291452. Prefixing zero gives 0036000291452. Test the 13-digit result independently: the added leading zero occupies a position with zero contribution, and the weighted total still ends at a multiple of ten. The page shows both representations and their check status.

Why a leading zero survives the checksum

The check calculation is defined over the body digits in their particular representation. A leading zero contributes zero whichever multiplier is applied. That explains why UPC-A and its zero-prefixed EAN-13 form finish with the same check digit. Do not generalize this to adding any nonzero prefix: one additional nonzero digit changes the alternating positions and therefore changes the checksum.

Where this mapping is used

Retail data exchanges and scanners may normalize a UPC-A to a 13-digit EAN representation for storage, while packaging artwork may still show the UPC-A symbol expected in a market. The conversion helps compare records that appear different but represent the same 12-digit identity. It does not decide which human-readable layout, guard pattern, registration route or barcode symbol a trading partner requires.

The reverse rule is deliberately strict

To convert EAN-13 back to UPC-A, digit one must be zero and all thirteen digits must have a valid check digit. Remove only that leading zero. An EAN-13 beginning with 4, 5 or 9 is not an abbreviated UPC-A; deleting its first digit creates a different, usually invalid identifier. Strict rejection is safer than making a plausible-looking twelve-digit value.

Do not confuse UPC-A with UPC-E

UPC-E is a separate compressed symbology with rules for number-system and manufacturer/product digits. It is not obtained by dropping zeros from UPC-A, and it is outside this converter. Likewise, EAN-8 is a separately allocated compact retail identifier. This page has one narrow job: lossless conversion between UPC-A and a zero-prefixed EAN-13.

Why the barcode appearance still matters

Two representations can map to the same product identity yet use different guard layouts and digit placement when encoded as UPC-A versus EAN-13. A database conversion does not authorize replacement artwork. Generate and test the symbology required by the label specification, preserve its quiet zones, and scan the final print with the intended point-of-sale or receiving equipment.

Failures usually reveal a source-system mismatch

If an apparently related pair does not map by one leading zero, check for a missing check digit, a non-GTIN internal SKU, or a copied price/variant suffix. The converter does not repair values because silent repair hides that mismatch. Its local result is useful as an audit note: input, recognized representation, converted representation, and pass/fail checksum.

A clean boundary with the check-digit page

The GTIN check-digit calculator accepts several valid lengths and exposes the formula. This converter applies one semantic rule after validating the checksum: 12 digits to 13 with a zero, or 13 zero-prefixed digits to 12. It neither generates bars nor interprets GS1 application identifiers, so operational labeling should use the format-specific tools after conversion.

Reconcile a GTIN-12 without losing its leading zero

UPC-A `036000291452` is a 12-digit GTIN-12 representation. Its EAN-13 display form is `0036000291452`: one filler zero is placed on the left, while the 12 original characters, including the final check digit 2, remain in order. GS1's retail implementation guideline explicitly distinguishes UPC-A carrying a GTIN-12 from EAN-13 carrying a GTIN-13 and describes shorter GTIN forms as zero-padded in fixed-width data structures: https://ref.gs1.org/guidelines/2d-in-retail/ . Store both values as text. A spreadsheet that changes UPC-A `036000291452` to `36000291452` has lost a significant representation character even though its remaining digits still look plausible.

Do not use conversion as allocation or artwork approval

The converter has one lossless rule: add zero to a valid 12-digit UPC-A, or remove exactly the first zero from a valid zero-prefixed EAN-13. EAN-13 `4006381333938` is not a UPC-A with an optional first character; deleting 4 invents a different twelve-digit sequence. UPC-E is also outside this rule: it is a constrained compact representation of eligible GTIN-12 data, not a result of removing zeros by eye. When a retailer, warehouse, or EDI feed shows a different value, retain the original input, converted form, target system's field length, and barcode symbology expected on the package. Then scan the required final UPC-A or EAN-13 symbol into that system. A mathematically valid value does not establish GS1 allocation, product ownership, package level, or trading-partner acceptance. The useful result is a documented representation match, not a new product number or permission to substitute label artwork.

Test the symbols, not only the strings

A zero-prefixed EAN-13 string and a UPC-A string can denote the same retail identity, but scanners may be configured to transmit one normalized representation. Test the actual barcode symbol with the destination application and record what arrives. If a checkout system strips or adds the leading zero itself, changing the master data to match one scanner can create a mismatch elsewhere in the supply chain.

Watch import formatting

CSV import, spreadsheet formatting and numeric database fields often remove leading zeros. A conversion result should be stored as text with an explicit length check. If the EAN-13 result 0036000291452 later becomes 36000291452, the conversion has not become invalid; its representation has been damaged. The page makes the leading zero visible so that loss is easier to spot.

Know when conversion must stop

An EAN-13 that does not start with zero may be a valid retail identifier but it is not a UPC-A in another costume. Do not delete its first digit to satisfy a 12-digit field. Correct the field model or obtain the right identifier for the market. Refusal is a useful result here because a fabricated conversion would be harder to detect after it reached printed packaging.

Keep the verification boundary clear

Treat the converted result as a representation for comparison, then confirm which symbol and transmitted string the target retailer requires. The page protects the leading-zero rule; trading-partner acceptance remains a separate operational check. Archive both display forms when reconciling catalogues, so a later reviewer can see that the first zero was a mapping rule rather than an accidental edit.

Reconcile a GTIN-12 without losing its leading zero

UPC-A `036000291452` is a 12-digit GTIN-12 representation. Its EAN-13 display form is `0036000291452`: one filler zero is placed on the left, while the 12 original characters, including the final check digit 2, remain in order. GS1's retail implementation guideline explicitly distinguishes UPC-A carrying a GTIN-12 from EAN-13 carrying a GTIN-13 and describes shorter GTIN forms as zero-padded in fixed-width data structures: https://ref.gs1.org/guidelines/2d-in-retail/ . Store both values as text. A spreadsheet that changes UPC-A `036000291452` to `36000291452` has lost a significant representation character even though its remaining digits still look plausible.

Do not use conversion as allocation or artwork approval

The converter has one lossless rule: add zero to a valid 12-digit UPC-A, or remove exactly the first zero from a valid zero-prefixed EAN-13. EAN-13 `4006381333938` is not a UPC-A with an optional first character; deleting 4 invents a different twelve-digit sequence. UPC-E is also outside this rule: it is a constrained compact representation of eligible GTIN-12 data, not a result of removing zeros by eye. When a retailer, warehouse, or EDI feed shows a different value, retain the original input, converted form, target system's field length, and barcode symbology expected on the package. Then scan the required final UPC-A or EAN-13 symbol into that system. A mathematically valid value does not establish GS1 allocation, product ownership, package level, or trading-partner acceptance. The useful result is a documented representation match, not a new product number or permission to substitute label artwork.

Enter your values, review the result, then use it with confidence.

Rate this page

Be the first to rate this page.