AnyScan
Free forever

Validate a barcode value.

Calculate check digits, catch format problems, and pass a valid value straight to the generator.

Validate

Check a barcode value or build standards-aware GS1 data.

No lookup required

For EAN, UPC or GTIN, enter the complete value to verify it or omit the final digit to calculate it. Spaces and hyphens are ignored for those standards.

Your validation result appears here.

Processed locally. Values and check-digit calculations stay in this browser.

Barcode validation without a product lookup

AnyScan checks whether a value follows the selected barcode standard and includes a guided builder for common GS1 element strings. For EAN, UPC and GTIN values it calculates the GS1 check digit locally; for Code 128, Code 39 and ITF it checks supported character and length rules. It does not query a product database or claim that a valid number has been assigned to a particular product.

Check a complete code

Paste all digits of an EAN-13, EAN-8, UPC-A or GTIN-14 value to compare the received final digit with the locally calculated one.

Calculate the final digit

Enter the data digits without the check digit and choose the intended retail format. AnyScan returns the complete value and explains the calculation result.

Validate other barcodes

Check Code 128 ASCII limits, Code 39 characters and uppercase normalization, or ITF numeric and even-length requirements.

Build structured GS1 data

Enter a GTIN plus optional expiry date, batch or lot and serial number. AnyScan assembles the correct Application Identifiers and FNC1 separators, then renders and locally decode-verifies GS1-128 or GS1 Data Matrix.

Continue to generation

Copy the checked value, apply a deterministic correction, or send the valid result to Create without retyping it.

How to validate a barcode check digit

  1. Paste the barcode value and leave the format on Auto, or choose the standard printed on the source document.
  2. For EAN, UPC or GTIN, enter either the complete value or the data digits with the final check digit omitted.
  3. Review the expected and received check digits. A mismatch is reported explicitly and the corrected value is offered as an action.
  4. Copy the result or open it in Create to render and independently decode-verify the barcode image.
Supported validation rules
FormatComplete lengthWhat AnyScan checks
EAN-1313 digitsGS1 check digit; 12 data digits can be completed. A valid 12-digit UPC-A is zero-padded instead of receiving a second check digit.
EAN-88 digitsGS1 check digit; 7 data digits can be completed.
UPC-A12 digitsGS1 check digit; 11 data digits can be completed.
GTIN-1414 digitsGS1 check digit; a valid shorter GTIN is zero-padded where applicable.
Code 128Up to 80 charactersPrintable ASCII and practical width guidance.
Code 39Up to 40 charactersSupported alphabet, uppercase normalization and Full ASCII ambiguity warnings.
ITF6–30 digitsDigits only and an even number of digits.

A valid check digit confirms the number’s arithmetic structure; it does not identify or verify the product behind that number.

Specifications

Automatic detection
Recognises complete or check-digit-omitted EAN-8 and UPC-A values, complete EAN-13 and GTIN-14 values, and ordinary short barcode identifiers. Ambiguous values can be checked against an explicitly selected format.
Correction
A check digit is appended or replaced only when the requested standard makes the result deterministic. The original input is never changed until you choose the correction action.
GS1 builder
Supports GTIN (01), batch or lot (10), expiry date (17) and serial number (21), with GS1-128 and GS1 Data Matrix PNG or SVG export. Variable-length elements receive the required FNC1 separator when another element follows.
No database lookup
Validation checks syntax, length and check-digit mathematics. It does not confirm GS1 allocation, ownership, price, inventory or product metadata.
Privacy
Validation runs in the browser. Values are not submitted to a server, analytics service or product database.
Next step
Create renders the corrected value and locally decodes the generated output before enabling exports.

Common questions

Does a valid EAN or UPC checksum prove the product is genuine?

No. It proves only that the digits satisfy the format’s checksum rule. Product assignment and authenticity require an authoritative registry or supplier record.

Why does a 12-digit value sometimes become a 13-digit EAN?

A complete UPC-A can be represented as EAN-13 by adding a leading zero while keeping its existing check digit. AnyScan avoids appending a second check digit to a value that is already a valid shorter GTIN.

Can AnyScan fix an invalid check digit?

Yes, when the selected format has a deterministic GS1 check digit. The expected and received digits are shown before you apply or copy the corrected value.

Does the GS1 builder register or assign my GTIN?

No. It validates and encodes the data you provide. A scannable symbol and valid check digit do not prove that the number is licensed or assigned to a product.

After validation, render and scan-verify one value in Create, or validate an entire spreadsheet with row-specific reports in Batch. Create a code · Validate a spreadsheet · Read the verification method