Generate valid Brazilian voter registration numbers by state and validate any voter ID in your browser.
The Brazilian voter registration number (título de eleitor) has 12 digits and, unusually, encodes where it was issued. The first eight are the sequential number, the next two identify the state — 01 for São Paulo, 02 for Minas Gerais, through to 28 for voters registered abroad — and the last two are check digits. Because the state code is part of the number itself, this generator lets you pick the issuing state and produces a number that is internally consistent with it.
Both check digits are computed with modulo 11, and each carries an exception that trips up most home-made implementations. The first digit comes from the eight sequential digits weighted 2 through 9; the second comes from the two state-code digits and the first check digit, weighted 7, 8 and 9. In both, a remainder of 10 becomes 0 — and a remainder of 0 becomes 1, but only for São Paulo and Minas Gerais. Those two states were the first to be numbered and kept a legacy rule the rest of the country never adopted, so validators that ignore it wrongly reject a slice of legitimate numbers.
The realistic use for this is testing. Electoral applications, civic-tech projects, membership systems and any form that asks for a título will validate the check digits before accepting input, and a hand-typed sequence almost never passes. Every number generated here is random, is not looked up in any TSE database, and is tied to no voter — it exists only to make a form accept a value so you can test the code behind it. Nothing is transmitted: generation and validation run entirely in JavaScript in your browser.
First check digit: multiply the 8 sequential digits by weights 2 through 9 and take the remainder of the division by 11. Second check digit: multiply the two state-code digits and the first check digit by 7, 8 and 9 and take the remainder of the division by 11. In both, a remainder of 10 becomes 0; a remainder of 0 becomes 1 for São Paulo (01) and Minas Gerais (02), and 0 for every other state.
No. The number is random and only satisfies the check-digit math. It is not registered with the TSE and belongs to no voter.
The first eight are the sequential registration number, the ninth and tenth are the state code (01 for São Paulo through 28 for voters abroad), and the last two are check digits derived from the other ten.
When a check-digit remainder comes out as 0, those two states use 1 instead of 0 — a legacy of being the first states numbered in the system. Validators that ignore the exception wrongly reject legitimate numbers from SP and MG.
No. Only the mathematics of the check digits and the validity of the state code are verified. Registration status, cancellations and transfers are known only to the electoral authority.
No. Generated documents are for software testing only. Using them on real services may constitute fraud, which is a crime in Brazil.
No. Generation and validation run 100% in JavaScript on your device. Nothing is uploaded, logged or stored.
Vai.la turns any URL into a short link with click statistics, QR Code and your own biolink.
Vai.la is not responsible for how the tools are used or for decisions made based on their results.