CPF Generator
Generate valid Brazilian CPF numbers for software testing, in bulk, by state.
Options
Between 1 and 100 per batch. Every number is unique.
Format
The 9th digit of a CPF marks the fiscal region that issued it. Pick a state to fix it.
Generated CPFs
Your CPFs will appear here.
For software testing only. These numbers are random and only mathematically valid: they pass the check digit test but are not issued to you, and one may happen to match a real person's CPF. Never use them to sign up, buy or identify yourself.
Frequently asked questions
How are the CPF check digits calculated?
A CPF has 9 base digits and 2 check digits. For the first check digit, multiply the 9 base digits by 10, 9, 8 and so on down to 2, add the products and take the remainder of dividing by 11. If the remainder is 0 or 1 the digit is 0, otherwise it is 11 minus the remainder. The second check digit repeats the process over the first 10 digits with weights 11 down to 2. For 529.982.247 the sums are 295 and 347, which give the check digits 2 and 5: 529.982.247-25.
Are the generated CPFs real?
No. They are random numbers that satisfy the check digit math, nothing more. They are not registered to you at the Receita Federal, and because the number space is shared, a generated CPF can coincide with one that belongs to a real person. Treat them strictly as test data.
Is it legal to use a CPF generator?
Generating numbers to test software is legal and common practice among Brazilian developers and QA teams. Using a CPF that is not yours to register an account, make a purchase, get credit or deceive anyone is not: it can be prosecuted as falsidade ideológica under article 299 of the Brazilian Penal Code.
What does the 9th digit of a CPF mean?
It identifies the fiscal region where the CPF was issued: 0 RS; 1 DF, GO, MS, MT, TO; 2 AC, AM, AP, PA, RO, RR; 3 CE, MA, PI; 4 AL, PB, PE, RN; 5 BA, SE; 6 MG; 7 ES, RJ; 8 SP; 9 PR, SC. It shows where the number was registered, not where the person lives today.
Why do 111.111.111-11 and similar numbers fail validation?
Sequences of one repeated digit pass the check digit math by coincidence, so validators reject them explicitly. This generator never produces them.