✅ ValidaLatam All validators · API docs · RapidAPI · ES

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

  1. Strip dots and spaces.
  2. Check 7–8 digits remain and the range is plausible.
  3. 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).

See plans on RapidAPI →

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.

Other validators

CUIT · ArgentinaCUIL · ArgentinaCBU · ArgentinaCVU · ArgentinaCPF · BrazilCNPJ · BrazilRFC · MexicoCURP · MexicoCLABE · MexicoRUT · ChileNIT · ColombiaRUC · Peru