As an auto insurance agent, Washington state drivers license (and identification card) numbers have always been a part of my job. I have used them often enough that I have the pattern that the state uses memorized so that if someone tells me their driver’s license number I can usually tell them their birthday. It can be fun to tell people that you can tell their birthday from their checkbook (this was written back in the day when we did not have debit cards and people actually had their driver’s license number printed on their checks). They do not realize that the driver’s license number they have printed on the check tells all.

Washington state encodes your last name, first initial, middle initial, and your date of birth into your driver’s license number. A Washington Identification Card uses the same number as the driver’s license for someone who does not or cannot drive. This online program by Alan De Smet will calculate a drivers license number for you if you want a good guess at what someone’s license number would be.

His site also has the best explanation I could find of how the system works:

These license numbers look like the following:

`WOO**JT546KA`

– “John T. Woo” born on May 1st, 1946`WALKECR579DU`

– “Christopher R. Walken” born on March 31st, 1943`LLLLLFMYYXmd`

– Pattern deciphered below

**Drivers License Status**

You can go online and check the status of a Washinton License or ID Card number. The screen shot on the right shows what information is available online.

**Deciphering the Number**

**LLLLL** – Last Name, truncated – The first five characters are the first five letters of the last name. If the name is shorter than five characters, the extra space is padded with asterisks (*).

**F** – First Initial

**M** – Middle Initial – If no middle initial the space is padded with an asterisk (*).

**YY** – Year of birth, encoded – This is 100 minus the the two digit year of birth. So someone born in 1998 will be 2 (100-98), as will someone born in 1898.

**X** – Checksum – This can be calculated if you like math but first you must have the rest of the license figured out.

**m** – Month of birth, encoded. Look up your birth month on this table. There are two options. In general the state will use the first column. If another person has generated the same license number as you, they’ll use the second column. This is most often needed for twins. (I have no idea what they do after that.)

Month | 1st | 2nd | Month | 1st | 2nd | |
---|---|---|---|---|---|---|

Jan | B | S | Jul | M | 4 | |

Feb | C | T | Aug | N | 5 | |

Mar | D | U | Sep | O | 6 | |

Apr | J | 1 | Oct | P | 7 | |

May | K | 2 | Nov | Q | 8 | |

Jun | L | 3 | Dec | R | 9 |

**d** – Day of month of birth, encoded – Look up the code for your birth’s day of month.

Date | Code | Date | Code | Date | Code | Date | Code | |||
---|---|---|---|---|---|---|---|---|---|---|

1 | A | 11 | J | 21 | 1 | 31 | U | |||

2 | B | 12 | K | 22 | 2 | |||||

3 | C | 13 | L | 23 | 3 | |||||

4 | D | 14 | M | 24 | 4 | |||||

5 | E | 15 | N | 25 | 5 | |||||

6 | F | 16 | W | 26 | 6 | |||||

7 | G | 17 | P | 27 | 7 | |||||

8 | H | 18 | Q | 28 | 8 | |||||

9 | Z | 19 | R | 29 | 9 | |||||

10 | S | 20 | 0 (number) | 30 | T |

Now back to the checksum, **X**.

Once you have figured out the rest of the license number you can alternate adding and subtracting the numeric value of each character. The checksum is the single digit remaining, ignoring negative signs or the fact it might be more than 9. In other words, answers of 6, 16 and -6 will all have a checksum digit of 6. The mathematical way to write this is:

checksum = (L1 – L2 + L3 – L4 + L5 – F + M – Y1 + Y2 – M + D) mod 10;

For letters and the asterisk use the numbers in the table below to calculate the checksum:

Value | Letter | Letter | Letter | Letter |
---|---|---|---|---|

1 | A | J | ||

2 | B | K | S | |

3 | C | L | T | |

4 | D | M | U | * |

5 | E | N | V | |

6 | F | O | W | |

7 | G | P | X | |

8 | H | Q | Y | |

9 | I | R | Z |

Use to convert the letters in the license number into numbers, before calculating the checksum (the 8th character in the license number). So, using our Christopher Walken example above, we calculate the checksum this way:

```
W-A+L-K+E-C+R-5+7-D+U
```

```
```

```
6-1+3-2+5-3+9-5+7-4+4=19 so we use the 9 as the checksum.
```

How does one calculte the “Checksum”? Thank you, G. De Nevers

There you go. I have added directions on how to calculate the checksum for the driver’s license.

…twins are born, named John Wayne Smith and James Walker Smith? Wouldn’t they have the same number?

They would, except that there is a ‘second column’ for the month that is used for these duplicates. I have not found the answer for what happens when the triplet, Justin Wilkins Smith, comes in for his license.

I WORK WITH THE ARCOLA POLICE DEPT. and I have to know the difference between a D.L. and an I.D. CARD. From WASHINGTON STATE.

Are you asking if they look different or if the numbers are different?

ID Cards say:

Identification CardLicenses say:

Drivers LicenseOtherwise they are almost identical, including the number. A person can go from a license to an ID card and back to a license and the number will not change — just the card.

I have added the following link to the post where you can actually check the status of a Washinton License or ID Card number

this is wonderful. i use this at work all the time! thank you!

MY BF AND I WERE CHECKING THIS OUT – ITS COOL BUT WE COULDNT GET HIS NUMBER RIGHT. WHAT IF HE IS A JR. AND HAS NO MIDDLE NAME. WE TRIED BOTH WAYS AND STILL IT DIDNT MATCH LIKE MINE. IS THERE A DIFFERENCE SHOULD WE PLACE JR “J” AS THE MIDDLE INITIAL OR THE “*”?

If he has no middle initial, then the the * would be used in that spot. Jr may be treated as part of his last name.

What do you do if someone has two middle names?

Just like a double last name, two middle names do not change the formula, just the first initial of the middle name is used.

So if the middle name is ‘sally may’ then just the ‘s’ is used.

If the checksum is 30 is your number 0?

Yes, just the last digit of the checksum is used on the license, so 30, 0, and -30 would all just use the 0.

Probably typo: LLLLLFMYYXmb – Pattern deciphered below Should be d vs. b for day?

Thanks for a great site. It is a really well done resource.

Dennis

It worked! Thanks!

Dennis, you are correct, I had …mb instead of …md in the pattern. Fixed!

Thanks!

Thank you for posting this. It helped me finalize some documents. The Checksum did not work however, (it added up to be a 9, but was issued as a 7) but I was able to get close enough to guess and verify DL status to see that it was right.

If you provide the license number I can see where the error is. I don’t know why it would not come up with the correct checksum.

Do you know of any publications detailing the format of licenses in other states?

I’m sure it would be easy to decipher if one could obtain a large collection of driver’s licenses and personal info.

What happens when you have a check digit of 10? 0 mod 10 would be 10 correct?

If you have a one-letter error, how can you detect it using the check digit that you found?

@Anonymous Coward – I have seen books at my local Bank of America that have samples of every state’s drivers licenses.

@Travis – 10 mod 10 is 0 – since 10/10 leaves a remainder of 0.

@Jacob – you won’t be able to tell where the error is. My comment to @Happy was to find the error in my calculations, not his number.

Finally after 30 years I now understand what the 6kp stands for in my own license. Thank you.

Is there a simular version for Oregon’s Drivers Licenses?

@Terri, I have not seen anything that shows any pattern to the Oregon licenses.

Here’s my driver’s license number TACKEMJ162RJ. I’m going through it and I cant seem to figure out how to come up with 2 for the X – Checksum.

What are the little numbers on the side of the photo?

Just a slight correction, I think, to the checksum formula, since I see it written incorrectly a lot of places (or at least the one that is published doesn’t work as written in Excel):

should be:

checksum = (abs(L1 – L2 + L3 – L4 + L5 – F + M – Y1 + Y2 – M + D)) mod 10

or in excel:

checksum = MOD(ABS(L1 – L2 + L3 – L4 + L5 – F + M – Y1 + Y2 – M + D),10)

where “abs” signifies absolute value. Without that, most MOD functions will return the complement of the value rather than the absolute value mod. For example mod(-3,10) in excel is 7, not 3 as required for the WDL.

About the little numbers. When they take your picture, it is given a distinct number. That number ID’s it for facial recognition software so they can tell if the picture actually is of you when matched with the DL number. Also, if you look at line 5, after the number is a DD then your DL number and then the same number that is on your picture added to it for a very long number. Again, linking the photo with the DL number.

What does 5DD on the bottom a washington state drivers license mean, it seams to change with every address?

Does your criminal arrest record show up when your drivers license is ran, other than driving infractions or arrests? And what shows up when your license is ran?

KyLee, I am sure when the cops run your drivers license from their car that it will show everything they know about you, including, of course, arrest warrants.

Also, I don’t see any 5DD or other 3 letter code on the front of my license.

[…] see, WA state driver’s licenses and state ID’s numbers are not random; here’s how they’re generated. And here’s a 2nd link with a little program that, given a person’s name and DOB, […]

My day of birth is 20. Decoded = the letter O. When decoding the checksum the rest of the license & applying 6 for the letter O, I then arrive at check sum of 7 whereas the State uses 0 (zero). Can you clarify for me?

Sorry Hawkens, It is not clear in the font that is printed that 20 decodes to the number 0 not the letter O — I made a note in the table that should help others. Thanks!

In theday of month birth encoder the day 31 is cut off so I can’t see the code. What is the code for date 31?

Very odd that it is cut-off. The code for the 31st is the letter U

Thank you! you’re a lifesaver, I searched a million keywords and even the .gov sites don’t have this. You sir, are epic.

Could you decipher mine please? I cant figure how to get the last digit after my birthyear! Andrew John Checcnia 06/10/89

Using the link in the post, your license is calculated as: CHECCAJ119LS

You are wondering how the ‘9’ is figured out, correct? The formula: C-H+E-C+C-A+J-1+1-L+S=digit

Using the table: 3-8+5-3+3-1+1-1+1-3+2=digit

Which works out as: digit = -1

I have always thought the answer would be 1 but it appears it is 9. When I plug in (-1) mod 10 into Google it shows the answer is 9.

In reply 27 above, Mope says it should be 1 not 9 because we should use abs(digit), in other words, remove any negative sign before calculating the mod10 function.

So, Andrew, does your license show a 1 or a 9 as the checksum digit?

This is awesome! Is there one for Oregon?

About, KyLee, posted July 9,2012 asking about what is 5DD numbering system at the bottom of your license. 1= last name 2= first & middle name 3=DOB 4a=Issued date 4b=Exp. date (no 4c) 4d= Lic# 5DD= Your Lic# + facial recognition number (small numbers beside your photograph) (no 6 or 7) 8= address 9=class (no 10 or 11) 12= restrictions (no 13,14) 15= sex 16= height 17= weight 18= eyes

So, what does the DD in #5 stand for? Possible answers: Dept Drivers Lic or Dept of Defense

You saved my bacon! I lost my id and could only remember a few pieces of my id to renew online. Because of your chart I nailed it and renewed online. YOua re a rockstar man!

OK so I am trying write this in excel and I get to the check sum value for the day of the month of birth.

Neither of the examples covered this so I want to make sure I have this right before add this extra step.

If the day of your birth date is 20-29 you are going to use 0-9 respectively for the check sum calculation, otherwise you are going to use the value that corresponds the letter in your check sum table.

So your day of birthday – > coverts to a letter for license code -> back to number if you are not 20-29 for check sum purposes.

If your day of birthday is 20-29 – > converts a truncated number for license code -> goes straight into check sum.

Correct?

I am not sure what you mean by “neither example covered this” – both examples have a complete drivers license number with birthdates. I guess you mean what values do you use if the drivers license has a number in it. The number you use is the number in the license — so the license has a 3 if Bday is 23rd, so you use the 3.

The Walker drivers license example has a 5 and a 7 in the license number – so you use the 5 and the 7. If the Birthdate converts to numbers, use the numbers.