Validator CIG and CUP ANAC/DIPE
Verify the structure of CIG (10 character ANAC) and CUP (15 character DIPE) for tenders and public contracts. Calculation in browser, data not transmitted.
Configure
Result
No results
Enter values and press the button to calculate.
Frequently Asked Questions
What is CIG and what does it serve in the public administration?
Contract Identification Code (CIC) is an alphanumeric 10-character code issued by ANAC for every public contract award procedure. The L.136/2010, art.3 makes it mandatory for tracking of PA financial flows. Without CIC, payments to suppliers are not possible.
What is a CUP and when is it mandatory?
Project Unique Code (CUP) is a 15-character code released by DIPE to identify every public investment project funded with public resources. It's mandatory for projects co-financed by European funds (PNRR, PON, POR), national cohesion funds and any transfer of public resources.
What does "structural validity" mean and why isn't it enough?
The structural validity check ensures the code complies with format rules (length and allowed characters), and for CUPs, it verifies the positional checksum of DIPE. It does not verify the existence of the code in official records ANAC/OpenCUP. For administrative and accounting purposes, direct verification on portal anticorruzione.it (CIG) and opencup.gov.it (CUP) is mandatory.
What is SmartCIG and when is it used?
SmartCIG is the 9-character format used for direct assignments under threshold (Article 36 of D.Lgs.50/2016, now Article 50 of D.Lgs.36/2023) via the ANAC portal. Unlike the standard CIG format (10 characters), it is generated in a simplified manner. This validator accepts it with a warning to signal the legacy format.
Are data I input being sent to third parties?
No. All calculations occur entirely in your browser (client-side). No CIG or CUP code is sent to external servers or recorded. Validation is purely local and deterministic.
How do I get a valid CIG or CUP?
Briefly submit CIG through the ANAC Portal (anticorruzione.it) before procedure start. Obtain CUP via DIPE's OpenCUP system (opencup.gov.it) at project definition time. Both codes must be inserted into contracts, payment mandates, and mandatory financial documentation.
How is it used?
- Stick the code
Insert the CIG (10 or 9 characters) or CUP (15 characters) in the field. Uppercase and lowercase letters are accepted - the validator will normalize them automatically.
- Premi "Validate CIG/CUP
The validator automatically detects the code type (CIG, SmartCIG or CUP) based on length and verifies the format prescribed by ANAC and DIPE.
- Interpret the result
Green = structurally valid; Yellow = warning (SmartCIG legacy or CUP checksum not matching); Red = code does not conform to format. Always verify administrative validity on ANAC/OpenCUP.
What is the CIG and CUP Validator and how does it work?
Tracking of financial flows in the Italian Public Administration is regulated by Law 136/2010, art.3, which makes CIG (Contract Identification Code) mandatory for all public contracts and CUP (Unique Project Code) necessary for public investment projects. Without these codes, it's impossible to proceed with payments to suppliers or account for European funds.
The CIG is a 10-character alphanumeric code (A-Z letters and 0-9 numbers) generated by ANAC for each trust procedure. There's also the SmartCIG format at 9 characters, used for direct trusts under threshold, which this validator accepts but marks as legacy format. The CUP is a 15-character code issued by DIPE with a positional checksum to verify its formal consistency.
This tool performs structural validation of the inserted code: checks length, allowed charset, and for CUP, the DIPE best-effort checksum. Structural validation is an initial quality check but does not replace official registry verification by ANAC (anticorruzione.it) and DIPE (opencup.gov.it). A structurally valid code may not exist in records or be associated with a different competition.
All calculations take place entirely in the browser: no data is sent to external servers. The tool is useful for bidding stations, RUPs, accounting offices, economic operators, and software houses that integrate PA document flows and want to perform a first format check before proceeding with official verification.
Practical example
- Scenario: The municipality's RUP receives an invoice from the supplier with CUP number J11H18000050006.
- Insert code into field and press "Validate CIG/CUP".
- Validator detects 15 characters, recognizes type CUP, verifies charset [A-Z0-9] and calculates Dipe checksum.
- If the checksum is correct, the result is "Valid" with a structural confirmation message.
- The RUP will then proceed to verify on openCup.gov.it to confirm the existence and correspondence of the project.
Vocabulary Dictionary
- Cigarette
- Identification Code for Tender: 10-character alphanumeric code [A-Z0-9] generated by ANAC for each contract award procedure. Mandatory for financial flow tracking (L.136/2010, Art.3).
- Certificate of Use
- Project Unique Code: a 15-character alphanumeric code with positional checksum DIPE, identifying every public investment project funded by public resources. Mandatory for PNRR, European and national cohesion funds.
- Smart Cigarette
- Legacy format of the CIG at 9 characters, used for direct assignments below threshold via the ANAC portal. It is accepted but noted as a legacy format since the standard CIG is 10 characters long.
- Application Name and Address Center
- National Anti-Corruption Authority: a public body that manages the CIG register and oversees contract award procedures in Italy. Official Portal: portal.anticorruzione.it.
- Dip in water
- Department for Programming and Coordination of Economic Policy at the Presidency of the Council: manager of the CUP system and OpenCUP portal (opencup.gov.it) for project code verification.
- Traceability L.136/2010
- Mandatory regulatory requirement introduced by Law 136/2010, Article 3, which obliges bidding stations and economic operators to report CIG (and CUP where applicable) in all financial movements related to public contracts.
- Positional checksum
- Control numeric algorithm used by DIPE for CUPs: the 15th character is a calculated check digit as the weighted sum of the first 14 characters modulo 23, mapped onto a 23-character alphabet (excluding I, O, U). Verification is best-effort and does not guarantee existence in OpenCUP records.
- Reduce Unnecessary Pages
- Single Responsible for the Procedure: mandatory figure in public contracts (Article 15 of D.Lgs. 36/2023). Single responsible for correct management of procedure awarding, including request and verification of CIG and CUP.
Do you need a custom analysis?
This tool is free and informative. For in-depth analysis with AI on-prem - private data, zero cloud - contact Federico.