DNI Validator
Argentine DNI (national ID number) · Issuer: RENAPER. Normalizing DNI input in forms before matching it to CUIL/CUIT.
Free online validator
Validated with the public algorithm; we don't store your input.Format
7 or 8 digits, usually written with dots (12.345.678). It has no check digit.
Check-digit algorithm
- Strip dots and spaces.
- Check 7–8 digits remain and the range is plausible.
- For strong validation use the CUIL (which has a check digit) or a RENAPER lookup.
Use cases
Normalizing DNI input in forms before matching it to CUIL/CUIT.
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_DNI","value":"13840648"}'
# Python
import requests
r = requests.post("https://validalatam.p.rapidapi.com/validate", json={"type": "AR_DNI", "value": "13840648"},
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_DNI", value: "13840648" }) });
const { valid, formatted, error } = await r.json();
# Response
{
"valid": true,
"type": "AR_DNI",
"country": "AR",
"input": "13840648",
"normalized": "13840648",
"formatted": "13.840.648"
}
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 DNI check digit calculated?
Strip dots and spaces. Check 7–8 digits remain and the range is plausible. For strong validation use the CUIL (which has a check digit) or a RENAPER lookup.
What is the DNI format?
7 or 8 digits, usually written with dots (12.345.678). It has no check digit.
Why doesn't the DNI have a check digit?
It's a sequential number assigned by RENAPER; error detection lives in the derived CUIL.
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.