CUIT Validator
CUIT (Argentine tax ID) · Issuer: AFIP / ARCA. Customer and supplier onboarding, e-invoicing, KYC and checkout forms in Argentina.
Free online validator
Validated with the public algorithm; we don't store your input.Format
11 digits formatted XX-XXXXXXXX-X: a type prefix (20, 23, 24, 27 for individuals; 30, 33, 34 for companies), 8 digits (the DNI for individuals) and one check digit.
Check-digit algorithm
- Take the first 10 digits.
- Multiply by weights 5, 4, 3, 2, 7, 6, 5, 4, 3, 2 and sum.
- Compute 11 − (sum mod 11).
- 11 maps to 0; 10 is invalid for that prefix (AFIP reassigns to 23/33).
- Compare with the last digit.
Use cases
Customer and supplier onboarding, e-invoicing, KYC and checkout forms in Argentina.
Code examples
# curl (RapidAPI)
curl -X POST "https://validalatam.p.rapidapi.com/validate" -H "Content-Type: application/json" \
-H "X-RapidAPI-Key: $RAPIDAPI_KEY" -H "X-RapidAPI-Host: validalatam.p.rapidapi.com" \
-d '{"type":"AR_CUIT","value":"20056822462"}'
# Python
import requests
r = requests.post("https://validalatam.p.rapidapi.com/validate", json={"type": "AR_CUIT", "value": "20056822462"},
headers={"X-RapidAPI-Key": KEY, "X-RapidAPI-Host": "validalatam.p.rapidapi.com"})
print(r.json()["valid"], r.json()["formatted"])
// JavaScript (fetch)
const r = await fetch("https://validalatam.p.rapidapi.com/validate", { method: "POST",
headers: { "Content-Type": "application/json", "X-RapidAPI-Key": KEY, "X-RapidAPI-Host": "validalatam.p.rapidapi.com" },
body: JSON.stringify({ type: "AR_CUIT", value: "20056822462" }) });
const { valid, formatted, error } = await r.json();
# Response
{
"valid": true,
"type": "AR_CUIT",
"country": "AR",
"input": "20056822462",
"normalized": "20056822462",
"formatted": "20-05682246-2"
}
API plans on RapidAPI
Free plan to get started; paid plans for production volume and batch validation (up to 1000 per request).
FAQ
How is the CUIT check digit calculated?
Take the first 10 digits. Multiply by weights 5, 4, 3, 2, 7, 6, 5, 4, 3, 2 and sum. Compute 11 − (sum mod 11). 11 maps to 0; 10 is invalid for that prefix (AFIP reassigns to 23/33). Compare with the last digit.
What is the CUIT format?
11 digits formatted XX-XXXXXXXX-X: a type prefix (20, 23, 24, 27 for individuals; 30, 33, 34 for companies), 8 digits (the DNI for individuals) and one check digit.
Do CUIT and CUIL use the same algorithm?
Yes, both use mod 11 with the same weights; they differ in purpose (tax vs. labor) and some prefixes.
Does a valid check digit mean the CUIT exists?
No. It proves the number is well-formed. Whether it is active requires a lookup in the AFIP/ARCA registry.
Is this validator free?
Yes, the web tool is free. To integrate it, use the API: there's a free plan on RapidAPI.
Does the API store the numbers I validate?
No. Validation is deterministic, with no storage and no third-party lookups.