High Programmer > Alan De Smet > Unique ID > US Driver's License Numbers

US Driver's License Numbers

Florida, Illinois, Wisconsin, perhaps others

by Alan De Smet

You might want to look at my disclaimer before using this information for anything important. You might want to see warning about fake ids before using this information to make a fake id.

This particular page focuses on the algorithm shared by Florida, Illinois, and Wisconsin. For information on other states driver's license numbers see this page.

I've written programs so you can can calculate your license number based on your personal information, or you can determine your personal information from your driver's license number:

State Info to Number Number to Info
Florida Calculate Florida Analyze Florida
Illinois Calculate Illinois Analyze Illinois
Wisconsin Calculate Wisconsin Analyze Wisconsin

Here is a Java applet for encoding these states.

A number of states encode your name, gender, and date of birth in your license number. These include Florida, Wisconsin, and Illinois. These states use the same system of encoding, or very similar ones. Given someone's driver's license number from one of these states, you can take good guesses at someone's name and exactly determine their gender and date of birth. With someone's name, date of birth, and gender, you can guess some or all of their driver's license number. (I expect this same system applies to State IDs, but I don't know.)

I'm not really sure why these numbers are designed so. A likely guess is that it allows a skilled bouncer to quickly identify sloppy fake ids.

When you remove the hyphens, these license numbers look like the following:

SSSSFFFYYDDD
F25592150094

The specific licenenses look like the following.

Florida:
SSSS-FFF-YY-DDD-N
F255-921-50-094-0

I'm told Florida uses a different system for state identifications. I don't know anything else about it.

Illinois Driver's License:
SSSS-FFFY-YDDD
F255-9215-0094

Illinois State ID:
SSSF-FFYY-DDDS
2559-2150-094F

Illinois State ID's simply move the initial letter to the end, but are otherwise calculated the same.

Wisconsin:
SSSS-FFFY-YDDD-NN
F255-9215-0121-03

The segments are:

Segment Example Description
SSSS F255 Soundex code
FFF 921 First name, middle initial
YY 50 Year of birth
DDD 094 Day and month of birth
NN 03 Overflow (not all states use this)

SSSS - Soundex code of your last name

Soundex is a hashing system for english words. You might want to look at further information on how soundex works.

The example soundex is F255, so the example name starts with F, so the name starts with an F, followed by a gutteral or sibilant, followed by a nasal, followed by another nasal. This is correct, as the example person's last name is "Fakename"

For my license generator, I simply implement this. For my license reverser, I simply take likely guesses. I also generated the Soundex code for the top 10,000 (ish) last names in the US, and I suggest the top 10 for any given code.

FFF - Encoded first name and middle initial

Look up your first name on this table:

Name CodeName CodeName Code
Albert 20Frank 260Marvin 580
Alice 20George 300Mary 580
Ann 40Grace 300Melvin 600
Anna 40Harold 340Mildred 600
Anne 40Harriet 340Patricia 680
Annie 40Harry 360Paul 680
Arthur 40Hazel 360Richard 740
Bernard 80Helen 380Robert 760
Bette 80Henry 380Ruby 740
Bettie 80James 440Ruth 760
Betty 80Jane 440Thelma 820
Carl 120Jayne 440Thomas 820
Catherine120Jean 460Walter 900
Charles 140Joan 480Wanda 900
Dorthy 180John 460William 920
Edward 220Joseph 480Wilma 920
Elizabeth220Margaret 560
Florence 260Martin 560
Donald180
Clara140

If you fail to find your name, look up your first initial on this table:

InitialCodeInitialCodeInitialCodeInitialCode
A 0 H 320 O 640 V 860
B 60 I 400 P 660 W 880
C 100 J 420 Q 700 X 940
D 160 K 500 R 720 Y 960
E 200 L 520 S 780 Z 980
F 240 M 540 T 800
G 280 N 620 U 840

Now look up your middle initial on this table:

InitialCodeInitialCodeInitialCodeInitialCode
A 1 H 8 O 14 V 18
B 2 I 9 P 15 W 19
C 3 J 10 Q 15 X 19
D 4 K 11 R 16 Y 19
E 5 L 12 S 17 Z 19
F 6 M 13 T 18
G 7 N 14 U 18

Now, if add together the code for either your first name (if possible) or your first initial to the code for your middle inital.

So, the example FFF code is 921. Looking it up, it's William or Wilma A. If it had been 001, we would simply know at the their initials are A. A. Since the example was generated for "William Andrew Fakename" this is correct.

Y-Y - Your birth year

The two numbers together represent the year of your birth. If you are born in 1968, it should read '68'. This is the easiest information to pick out of a WDL, and is often used to spot fakes.

The example Y-Y code is 50. Mr. or Ms Fakename was born in 1950.

DDD - Month and day of birth and gender

This portion encodes the month and day you were born on. The general equation is:

General: (birth_month - 1) * month_multiplier + birth_day + gender_mod

Florida: (birth_month - 1) * 40 + birth_day + (male:0, female: 500)

Illinois: (birth_month - 1) * 31 + birth_day + (male:0, female: 600)

Wisconsin: (birth_month - 1) * 40 + birth_day + (male:0, female: 500)

birth_month is the number of months into the year, January is 1, December is 12.

month_multiplier varies by state. Illinois uses 31. Wisconsin and Florida both use 40.

gender_mod varies by state. In Illinois men use 0, women use 600. In Wisconsin and Florida men use 0, women use 500.

If the result is less than 100, add zeroes to the left side to make it 3 digits. (So, January 1st is encoded as "001" for men in Illinois.)

Mr. or Ms Fakename's code is 094. Assuming we're looking at an Illinois license number, because that's less than 600, we know Mr. Fakename is male. His name is probably William and not Wilma. We can subtract 93 from that, which is 31 three times. So three months into the year, April. That leaves 1 left, which is the day. Mr. Fakename was born on April 1, 1950.

Overflow

Looking at this, may become clear that it is possible for two people with similar names to get the exact same driver's license number. For example, if "Joshua William Smith" and "Jack Wayne Snoddy" were born on the same day, they'll get the same Illinois drive's license number. This is solved with "overflow" numbers, a simple sequential number can be appended to each duplicate number to resolve the confusion.

Wisconsin prints a two digit overflow number on your license. As a result, the last two digits of your Wisconsin license number represent the number of people who had the same license number as you (ignoring the last two digits), when you got your license.

Illinois may have overflow digits, but if they do the information is not on your driver's license. This means that if Joshua William Smith is wanted by police and his driver's license number is flagged as such, Jack Wayne Snoddy may be briefly detained while the police check their records to sort out the shared number. I have been told that Illinois state databases actually include a two or three digit number to distinguish between different people with the same license. One correspondent told me that their friend was pulled over for a minor traffic violation and was arrested as someone else. He sat in the police car for a while while they sorted it out. He and the other person had the exact same number; the other guy was a wanted man, but my correspondent's friend did not.

Florida prints a single digit overflow number on your license. As a result, the last digit of your Florida license number represent the number of people who had the same license number as you (ignoring the last two digits), when you got your license.

Urban Legends about Florida's Last Digit

There are number of urban legends about Florida driver's license overflow numbers. The legends claim that the number represents the number of times you've been arrested for drunk driving (DUI, DWI, etc), the number of times you've convicted for drunk driving, the number of times you've been convicted of a felony, that it encodes driving restrictions (0 means no restrictions, 1 means corrective eyewear is required), or that it encodes gender.

I don't believe it.

First, why bother? Who needs to know this information? Not a cop arresting you; they'll arrest a drunk driver no matter what. Prior convictions only matter when you're in front of a judge, and the judge has access to the database. Unless Florida does something particularly weird, driving restrictions are (in most states) clearly printed elsewhere, and the cop is going to run your license anyway and will learn any restrictions that way.

Second, as noted above: if you don't have overflow digits, you'll occasionally two people with the exact same driver's license number. Can you imagine what a mess that would be? Indeed, it's a mess in Illinois, see above.

Third, Wisconsin uses the exact same system, and as a native of Wisconsin I am absolutely certain it is correct. (Oddly, there are no urban legends about this in Wisconsin. It appears to be a strictly Florida thing.)

Finally, I've had people claim with absolute certainty all of the above. They can't all be true. My hypothesis matches Wisconsin's behavior and solves an important problem, so I'm sticking with it until I see better evidence for another hypothesis.

Now, it's entirely possible that I'm wrong. If you're sure that I am, and can point me to a reliable source to support an alternate theory, please let me know! Much of the information on this page comes from people who contacted me with corrections.

Contact webmaster - Copyright © 2002,2013