Driver's License Number Formats by Country and State
July 21, 2026 · DevTools
A driver's license number is one of the few identifiers almost every application asks for at some point — checkout flows, age verification, KYC onboarding, rental forms, insurance quotes. Hard-coding the same fake string into every form is a common shortcut, but it falls apart the moment a regex starts checking whether the value matches the expected pattern for that state or country.
A driver's license generator lets you produce numbers that respect each jurisdiction's letter/digit pattern, length, and where applicable its check-digit algorithm. You can try every example below in the Driver's License Generator.
The shape problem
There is no universal driver's license number format. A California license is one letter followed by seven digits (F1234567). A New York license is nine digits. A Florida license is one letter followed by twelve digits. An Ohio license is eight digits whose final digit is a Luhn check digit. Canadian, Australian, and European formats vary again by province and country.
If your form validation rejects anything that does not match, you need test data that matches each pattern individually. The generator knows 21 countries and all 50 US states (+ DC) and emits a number whose shape matches the selection.
Step 1: Pick the country
The country picker determines the available sub-formats and the patterns the generator will use. Most countries produce a single national format (Germany, France, Italy, Spain). The United States, Canada, and Australia branch into state or province on the next step.
Step 2: Pick the state or province (where applicable)
For US states, each has its own letter/digit template. A few representative patterns:
| State | Pattern | Length | Check digit |
|---|---|---|---|
| California | 1 letter + 7 digits | 8 | — |
| New York | 9 digits | 9 | — |
| Florida | 1 letter + 12 digits | 13 | — |
| Ohio | 8 digits | 8 | Luhn (mod 10) |
| Texas | 8 digits | 8 | — |
| Illinois | 1 letter + 11 digits | 12 | — |
The validator tab on the same page applies these rules when you paste a number back in, so you can confirm it matches the expected shape.
Step 3: Generate
The Generator tab returns a single number for the current selection. Click again for a different one. The number is always randomized and structurally valid — meaning it has the right letter/digit positions and the right length, and where the format uses a check digit, that digit is correct.
F1234567 <- California, 1 letter + 7 digits
042198765 <- New York, 9 digits
A123456789012 <- Florida, 1 letter + 12 digits
37124985 <- Ohio, 8 digits ending in a valid Luhn check
Step 4: Validate an existing number
Switch to the Validator tab, pick the same country and state the number came from, paste it, and the tool confirms whether the format matches. For Ohio, it additionally recomputes the Luhn check and reports whether the final digit is consistent.
This is useful when you're migrating data, cleaning a database, or writing input masks — the validator tells you whether a given string is at least well-formed before you decide what to do with it.
Why Luhn only on some states
Ohio, Massachusetts, and a handful of other US states use the Luhn algorithm (mod 10) so a cashier's scanner or DMV system can catch typos on the spot. Most US states do not, because their numbers are assigned sequentially by the DMV and the typo protection happens elsewhere in the issuing system. When you generate a number for a Luhn state, the tool produces a real check digit; for non-Luhn states, the last digit is random.
Different from national IDs
A driver's license number is not a national identity number. In the United States, the equivalent is the SSN, and in Germany it's the Personalausweis number — both of which follow very different rules. The driver's license number is just the state-issued permit ID, and its only contract with your form is its pattern. For national identity numbers (SSN, NIN, CPF, NRIC, TC Kimlik, and 13 more), see the National Identity Generator.
Everything stays in your browser
The generator runs entirely client-side. The numbers are mathematically valid in shape but randomized — they do not belong to real people and must not be used to impersonate anyone. Use them only for testing input masks, form validation, database seeding, and similar development work.
Next: realistic test addresses
A driver's license number is rarely the only field on a form. The next guide covers realistic test addresses per country, including postcode formats and how to validate them: read How to Generate Fake Addresses for Testing or jump straight into the Address Generator.