Skip to main content

Cadastro de Pessoas Físicas

Brazil · Individuals

000.000.000-00

Paste or type the number — punctuation is optional.

What this check does — and what it cannot do

This tool checks the number's structure and its check digit, using the published algorithm for that document. A number that passes is well formed: it is arithmetically consistent and could have been issued.

It cannot tell you whether the number was actually issued, whether it is active, or who it belongs to. Only the issuing tax authority can confirm that, through its own lookup service. Treat a passing result as "worth submitting", never as proof of identity.

The generator produces numbers that satisfy the same checksum, for filling forms while developing and testing software. They are arithmetic, not records: they are not drawn from any register and do not correspond to a real holder. No generator is offered for the US Social Security Number.

A valid CPF proves arithmetic, not identity

The Brazilian CPF ends in two check digits derived from the nine before them. That makes typing errors almost impossible to miss — and it makes fabricated numbers trivially easy to produce. Both facts follow from the same design, and confusing them is the mistake worth avoiding.

How it works

  • Recomputes both check digits from the first nine and compares them to the two supplied.
  • Catches the ordinary errors — a mistyped digit, two digits swapped — that a plain length check cannot.
  • Rejects the repeated-digit sequences (111.111.111-11 and friends) that satisfy the arithmetic but are never issued.
first check digit
  multiply digits 1–9 by weights 10, 9, 8 … 2, sum
  remainder = (sum × 10) mod 11, and 10 counts as 0

second check digit
  repeat over digits 1–10 with weights 11, 10, 9 … 2

both digits are mod 11, which is what makes transpositions detectable

Worked example

Validating 111.444.777-35, then mistyping it.

  1. base digits 1 1 1 4 4 4 7 7 7
  2. first weighted sum gives check digit 3
  3. second pass, now including that 3, gives 5
  4. so 111.444.777-35 is well formed
  5. transpose two digits — 114.144.777 — and the digits become 08

The transposed number needs check digits 08, not 35, so the error is caught. That is exactly what the check digits are for, and it is all they do.

Reading the result

  • A passing CPF is not proof of anything about a person. Anyone can generate an arithmetically valid CPF in a few lines of code; only the Receita Federal can say whether a number was issued and to whom.
  • Numbers with all eleven digits identical pass the mod-11 arithmetic cleanly, which is why validators exclude them explicitly. If yours does not, it will accept 000.000.000-00.
  • Mod 11 is chosen over a simpler checksum because it detects transposed adjacent digits — the most common human error — which mod 10 schemes can miss.
  • Do not store or log a CPF you only needed to validate. It is personal data under the LGPD, and validation requires no retention.

Common questions

Does a valid CPF mean the person is real?
No. It means the eleven digits are internally consistent. Confirming that a CPF exists and belongs to someone requires an official Receita Federal check, and no offline calculator can do it.
Why do some obviously fake numbers pass?
Because they are arithmetically consistent. 111.111.111-11 satisfies both check digits; it is excluded by an explicit rule, not by the maths. That is a good illustration of what a checksum can and cannot tell you.