🇵🇪 PERU · IDENTITY

DNI / CUI validator (free) — Peru

The DNI (Documento Nacional de Identidad), whose number is also known as the CUI (Código Único de Identificación), is Peru's national identity document issued by RENIEC. It has 8 numeric digits and no public-facing check digit. This tool validates format client-side.

Validates locally — your data never leaves your browser. No tracking on input. Format validation only.

Validates locally — your data never leaves your browser. No tracking on input.

How DNI / CUI (Peru) validation works

A Peruvian DNI is exactly 8 numeric digits. The CUI is the same 8-digit number used as a person's permanent identifier across RENIEC, SUNAT (where it forms the base of an individual RUC prefixed with 10), and other registries.

The physical DNI card includes an optional 9th character — a letter check generated from a RENIEC-internal algorithm — but it is rarely required in public-facing validation. This validator therefore checks the 8-digit body only.

The validator strips spaces, dots, and hyphens, confirms 8 numeric digits, and rejects all-same-digit sequences (11111111, 22222222, etc.) as well as DNIs that begin with 0 (historical RENIEC convention — current issuance does not start with 0).

Frequently asked questions

What's the difference between DNI and CUI?

They are the same 8-digit number. 'DNI' refers to the physical identity document; 'CUI' (Código Único de Identificación) refers to the number itself as a permanent identifier reused across systems (banking, SUNAT, healthcare, electoral roll).

What is the 9th character on the DNI card?

It is a check letter (dígito verificador) generated internally by RENIEC. It is not part of the standard DNI / CUI number used in forms, contracts, or APIs — most systems validate only the 8-digit body. The algorithm is not publicly published.

How does the DNI relate to the Peruvian RUC?

A natural-person RUC in Peru is the 8-digit DNI prefixed with '10' (or '15' for foreigners with carné de extranjería), followed by a Mod-11 check digit. So if a person's DNI is 12345678, their RUC will typically be 10123456789, where 9 is the SUNAT check digit.

Can I validate DNI via API?

Yes. Normadata's Verify API performs format validation on Peruvian DNI / CUI and 19 other Latin American identifiers with a single JSON call.

Want DNI validation in your app?

The Normadata Verify API validates Peruvian DNI / CUI alongside 19 other Latin American identifiers with a single JSON call.

See the Verify API