UPC-E is the short barcode you see squeezed onto small retail packages. It is a zero-suppressed version of a full UPC-A whose number happens to contain runs of zeros. This tool reverses that suppression — reconstructing the original 12-digit UPC-A and recomputing its check digit so the result scans correctly.
How it works
The 6-digit body of a UPC-E plus its final digit map back to an 11-digit UPC-A
data section. The final digit selects the reinsertion pattern (with body digits
labelled a b c d e last):
last 0,1,2 → a b last 0 0 0 0 c d e
last 3 → a b c 0 0 0 0 0 d e
last 4 → a b c d 0 0 0 0 0 e
last 5–9 → a b c d e 0 0 0 0 last
A leading number-system 0 is prepended, and the 12th digit is the UPC-A
modulo-10 check digit: sum the digits in odd positions times three, add the
even-position digits, and the check digit is whatever makes the total a multiple
of ten.
Example and notes
The UPC-E code 0425261 expands to the UPC-A 042100005264. Here the final
body digit 1 triggers the first rule, placing 42 then 1, four zeros, then
261, and the recomputed check digit is 4. If you paste the full 8-digit form
04252614, the tool confirms the supplied check digit 4 matches. UPC-E only
exists for UPC-A numbers with the right zero patterns, so not every UPC-A has a
UPC-E form — but every valid UPC-E expands uniquely back to one UPC-A.