The Cédula de Identidad (CI) is the Uruguayan national identity document issued by the Dirección Nacional de Identificación Civil (DNIC). The same number is used by BPS (social security), DGI (tax authority), banks, and virtually every digital service in Uruguay. Like many Latin-American identity numbers, the CI ends in a check digit (dígito verificador) computed from the preceding body digits. This tool verifies that check digit using the official DNIC/BPS mod-10 weight algorithm, shows every step of the calculation in a transparent table, and suggests the correct digit when the one you entered is wrong.
It is purpose-built for developers validating form input, data-cleaning pipelines, or anyone who wants to understand exactly why a CI passes or fails.
How it works
The algorithm has four steps.
Step 1 — Pad the body to 7 digits. The CI body is 1–7 digits long. Before applying
the weights it is zero-padded on the left to exactly 7 digits: 123456 becomes
0123456, 1234567 stays as-is.
Step 2 — Multiply by the weight series. Each of the 7 padded digits is multiplied by its fixed weight:
| Position | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|---|
| Weight | 2 | 9 | 8 | 7 | 6 | 3 | 4 |
Step 3 — Sum the products.
Step 4 — Derive the check digit.
DV = (10 − (sum mod 10)) mod 10
The final mod 10 wrapper handles the edge case where sum mod 10 = 0, which would
otherwise yield 10; in that case the check digit is 0.
Worked example
Take the CI body 1234567:
| Position | Digit | Weight | Product |
|---|---|---|---|
| 0 | 1 | 2 | 2 |
| 1 | 2 | 9 | 18 |
| 2 | 3 | 8 | 24 |
| 3 | 4 | 7 | 28 |
| 4 | 5 | 6 | 30 |
| 5 | 6 | 3 | 18 |
| 6 | 7 | 4 | 28 |
Sum = 2 + 18 + 24 + 28 + 30 + 18 + 28 = 148
DV = (10 − (148 mod 10)) mod 10 = (10 − 8) mod 10 = 2
So the full CI is 1.234.567-2. If you enter 1.234.567-5 the tool marks it invalid
and shows that the correct digit is 2.
Note: 1234567-2 is a demonstrably constructed example and does not correspond to any
real CI number.
Formula note
The weight series [2, 9, 8, 7, 6, 3, 4] is the official DNIC/BPS sequence. It is
not the same as the Chilean RUT mod-11 algorithm or the Brazilian CPF mod-11
algorithm, even though superficially similar structures appear in other Latin-American
schemes. The key distinctions are: Uruguay uses modulo 10 (not 11), so there is no
special K or X case, and the result is always a single decimal digit 0–9.
Frequently asked questions
Do I need to include the dash when typing? No. The tool strips everything that is not
a digit, so 12345672, 1234567-2, and 1.234.567-2 are all accepted and produce
the same result.
What if the body is fewer than 7 digits? Just enter the digits you have followed by
the check digit. The tool pads the body to 7 internally before applying the algorithm.
Short CIs (e.g. 123456-X) are common for older numbers.
Everything runs locally in your browser tab — no number is ever uploaded or stored.