Argentina CUIT Validator
Validate Argentine CUIT/CUIL (Tax/Labor ID) — 11 digits with type prefix and mod 11 check digit.
CUIT (Clave Unica de Identificacion Tributaria): Argentina's tax identifier
The CUIT (Clave Unica de Identificacion Tributaria) is the unique tax identifier issued by AFIP (Administracion Federal de Ingresos Publicos), the Argentine federal tax authority. Every individual or legal entity registered for IVA (value-added tax), Monotributo or any AFIP regime must hold a CUIT. It also appears on payroll, invoices (factura electronica), import/export filings and ANSES social-security records.
Conceptually it sits somewhere between Brazil's CPF and CNPJ: a single 11-digit code that covers both natural persons and companies, with the first two digits encoding the holder type. The CUIT was created in the 1990s to unify previous fiscal codes and is mandatory for any commercial relationship within Argentina, including cross-border invoicing by Brazilian companies operating locally (Mercado Libre, Stone, Globant, Despegar all manage CUITs).
AFIP issues the CUIT in person through its dependencias, online via "Clave Fiscal", or, for foreign individuals, at consulates. Companies receive their CUIT at incorporation via the IGJ (Inspeccion General de Justicia) or the corresponding provincial registry.
Anatomy of the 11 digits and the type prefix
A CUIT is displayed in the mask XX-XXXXXXXX-X: a 2-digit type prefix, an 8-digit body and one check digit. The body for individuals is the DNI (Documento Nacional de Identidad); for legal entities it is a sequence assigned by AFIP.
- 20 — male individual (Persona Fisica).
- 27 — female individual (Persona Fisica).
- 23, 24, 25, 26 — special individual cases (duplicate DNI, foreigners, deceased holders).
- 30, 33, 34 — legal entity (Persona Juridica / Sociedad).
- 50, 55 — international or special-regime entities.
For employees the same scheme is reused as CUIL (Clave Unica de Identificacion Laboral). The format and algorithm are identical; the difference is administrative: CUIL is issued by ANSES for labour and social security purposes, while CUIT is issued by AFIP for tax. Most workers who later become autonomos see their CUIL upgraded to CUIT with the same digits.
The mod 11 check-digit algorithm
The 11th digit is a check computed over the first 10 digits using fixed weights and modulo 11 arithmetic — a classic Luhn-like scheme that detects single-digit errors and most transpositions.
- Take the first 10 digits in order and multiply by the weights 5, 4, 3, 2, 7, 6, 5, 4, 3, 2.
- Sum the products.
- Compute
resto = sum mod 11. - DV = 11 - resto. If
DV == 11, thenDV = 0. IfDV == 10, thenDV = 9(AFIP convention — older specifications considered the number invalid; today AFIP keeps it as 9).
function cuitDV(digits10) {
const w = [5,4,3,2,7,6,5,4,3,2];
let s = 0;
for (let i = 0; i < 10; i++) s += +digits10[i] * w[i];
const r = s % 11;
const dv = 11 - r;
if (dv === 11) return 0;
if (dv === 10) return 9;
return dv;
}
Worked example on CUIT 20-12345678-?: weighted sum = 2*5 + 0*4 + 1*3 + 2*2 + 3*7 + 4*6 + 5*5 + 6*4 + 7*3 + 8*2 = 10+0+3+4+21+24+25+24+21+16 = 148. 148 mod 11 = 5. DV = 11 - 5 = 6. So 20-12345678-6 is the valid form.
CUIT vs CUIL vs DNI: when each one is required
Confusion between these three is a frequent source of bugs in onboarding flows for Argentine users:
- DNI — purely civil identity document, 7-8 digits, used for elections, ID checks and bank KYC.
- CUIL — labour identifier (ANSES) for employees, 11 digits, derived from DNI with type prefix and check digit. Required on payroll and for accessing social security.
- CUIT — tax identifier (AFIP) for self-employed individuals, professionals, Monotributistas, IVA-registered persons and all companies. Required to issue invoices.
For most natural persons, CUIL and CUIT are numerically identical — the same 11 digits. A worker who decides to register as monotributista simply transitions the same code from CUIL to CUIT status at AFIP, without changing the digits.
Where the CUIT is mandatory
- Issuing or receiving any factura electronica (A, B, C, E or M class).
- Filing IVA, Ganancias, Bienes Personales and Monotributo declarations.
- Registering employees and paying contributions to ANSES, ART and obra social.
- Importing or exporting goods through the Aduana.
- Opening a corporate or autonomo bank account.
- Onboarding on Mercado Libre, MercadoPago, Ualá and any local e-commerce as a seller.
- Acquiring real estate or vehicles in Argentina.
- Registering trademarks at the INPI.
Validation libraries and integration tips
For Node and browser integrations, mature open-source helpers exist: cuit-argentina, argentina-validators, and validar-cuit on npm all implement the same mod 11 routine. For Python, python-stdnum ships a stdnum.ar.cuit module that validates and formats. AFIP also publishes the Padron Unico de Contribuyentes SOAP/REST endpoint (WS_SR_PADRON_A13) that returns full status given a CUIT — access requires an AFIP digital certificate, so it is not callable from the browser.
Best practice is to validate the check digit client-side before submitting the form (instant feedback), then call the Padron service server-side to confirm the CUIT is active and matches the declared name. Combining both eliminates ~95% of typos and most fraud attempts.
FAQ
What is the difference between CUIT and CUIL?
CUIT is issued by AFIP for tax purposes (self-employed, companies, IVA filers). CUIL is issued by ANSES for labour purposes (registered employees). The digits are usually the same for an individual; the difference is administrative.
Can a foreigner obtain a CUIT?
Yes. AFIP issues CUIT del exterior for non-resident individuals and foreign companies that need to invoice or be invoiced in Argentina. The prefix used is typically 50 or 55 and the process is run through an Argentine fiscal representative.
Why does CUIT 20-DDDDDDDD-9 appear so often?
Because the algorithm forces DV=9 whenever the raw mod 11 result would be 10. So a small fraction of male CUITs and female CUITs (prefixes 20 and 27) ends in 9 by construction.
Is the CUIT enough to invoice in Argentina?
No. You also need an active AFIP profile, an authorized invoice point of sale and, for B2B, a CAE (Codigo de Autorizacion Electronico) per invoice. The CUIT only identifies the parties.
Does this tool send my CUIT to any server?
No. The mod 11 calculation runs entirely in your browser. Nothing is uploaded, logged or shared.
Related Tools
CPF Validator
Validate Brazilian CPF numbers instantly using the official algorithm. Useful for testing document validation in applications. No data sent to servers.
Batch CPF Validator
Validate a list of CPFs (one per line) and see which are valid and which are not. No data sent to servers.
Batch CNPJ Validator
Validate a list of CNPJs (one per line) with a summary of valid, invalid and total. No data sent to servers.