Verify or calculate — EAN-13, UPC-A, EAN-8, ITF-14
Barcode check digit calculator
Enter the digits before the check digit and get the correct one back instantly — or paste in a full number to confirm it's actually valid before it goes to print. Same GS1 mod-10 formula this site's real barcode generators already use to validate every number you type.
Need the actual barcode image, not just the check digit? Generate it directly.
Generate a barcode →How it works
- Pick the format — EAN-13, UPC-A, EAN-8, or ITF-14 each use a different payload length.
- Type the digits. Enter just the payload for a calculated check digit, or the full number to verify one you already have.
- The check digit and complete number appear instantly, computed the same way a scanner would verify it.
Who this is for
- Anyone double-checking a barcode number from a supplier or spreadsheet before it goes to print
- Developers validating GS1 numbers in code without hand-rolling the mod-10 algorithm
- Retailers confirming a GTIN is correctly formed before adding it to a product catalog
Got a whole spreadsheet of numbers, not just one? · free preview live
Every row gets its check digit verified automatically
Checking one number here is free. If you've got a supplier file with hundreds of GTINs to verify before they go to print, upload it to the bulk generator instead — every row is validated against the same GS1 mod-10 rule this calculator uses, and rows that fail are flagged individually instead of silently producing a barcode that won't scan. Preview is free; exporting the full batch as a ZIP or print-ready PDF is a one-time paid unlock — see pricing below.
Pricing
Free today. Pay once to export bulk batches.
No subscriptions, ever. The check digit calculator, the free generator, bulk preview, and paid export are all live now.
Free lets you preview the first 20 rows of a spreadsheet. One Batch or Pro exports the complete file.
- Unlimited individual generation
- All available barcode formats
- Free PNG, SVG, and PDF downloads
- Bulk preview: up to 20 spreadsheet rows
- No signup, no watermark
Best for one-time use
- Export one CSV/Excel job, up to 20,000 rows
- PNG and SVG ZIP
- Printable label PDF
- Custom filenames
Doing this once? Choose One Batch.
Best if you'll export more than once
- Unlimited bulk exports, up to 20,000 rows each
- SVG and high-res PNG
- ZIP and print-ready PDF
- Custom filename templates
- Saved local presets
- Works on any of your devices
Expect another batch later? Pro pays for itself after 10 exports.
One-time payment, never a subscription. Your license works on any of your devices — enter your license key to unlock. Any applicable tax is calculated at checkout.
FAQ
Check digit questions
The last digit in EAN-13, UPC-A, EAN-8, and ITF-14 numbers, calculated from the digits before it using a GS1 mod-10 formula. A scanner recalculates it from the digits it reads and rejects the scan if it doesn't match — it's how a barcode catches a misprint or a misread before bad data gets into a system.
Starting from the rightmost digit and moving left, digits alternate between weights of 3 and 1 (the digit immediately left of the check digit gets weight 3). Multiply, sum, and the check digit is whatever makes the total a multiple of 10. This generator does that calculation for you.
Not directly — UPC-E's check digit isn't a standalone formula on the 6 digits you type; it comes from expanding the compressed code into its full 12-digit UPC-A number first. Use the UPC-E generator itself, which handles that expansion.
Both, really — enter the full number including your existing check digit as the last digit, and if it doesn't match what this tool calculates, you'll know it's wrong. Entering just the payload (without a check digit) calculates the correct one to append.
They're all part of the same GS1 numbering system family — EAN-13 is the base 13-digit form, UPC-A and EAN-8 are shorter variants for different markets and package sizes, and ITF-14 wraps a 13-digit payload for case/carton-level shipping. All four share the identical mod-10 check-digit algorithm, just at different lengths.
Have the number — now get the actual barcode.
Free, instant, browser-based, no signup. Have a whole file of numbers instead? One batch is $4.99, or $49 for unlimited exports.