LEAF VIN Decoding

My Nissan Leaf Forum

Help Support My Nissan Leaf Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

garygid

Well-known member
Joined
Apr 21, 2010
Messages
12,469
Location
Laguna Hills, Orange Co, CA
VIN JN1AZ0CP5BT000082
was seen, apparently on one of the Test-Drive LEAFs.

JN1 = Nissan Vehicle, Produced in Japan

AZ0C = model, engine, etc. does not seem to make sense, conflicting with existing models.
A = Engine Type, but A is already assigned
Z0 = Model: Z-series ... is this the LEAF designation, or perhaps, Unassigned, or Pre-Production?
C = Body type is what?

P = Safety type: Passive restraints. Maybe no airbags in this particular LEAF?

5 = Checksum digit, for checking VIN validity

B = Model Year 2011 (2010 ... is A, B, ...)

T = Manufacturing Plant: Tochigi or Oppama (both Japan)

000082 = Serial number, normally in "completed" order.
 
LEAF VIN's Checksum Calculation:

The 6-digit Serial Number fills the 12th through
the 17th places (the last 6 digits) of the VIN.

Assuming the LEAF VIN is
JN1AZ0CPkBTnnnnnn
Where k = the Checksum character (0, 1,..., 9, X)
and nnnnnn is the 6-digit serial number:

Go down the "n" column to find the Serial Number digit,
then across the row to the 12 to 17 digit column,
and circle (or note) the entry there.
Repeat for each SN digit (12th through 17th place).
Code:
n  12 13 14 15 16 17th place
0:  0  0  0  0  0  0
1:  7  6  5  4  3  2
2:  3  1  X  8  6  4
3:  X  7  4  1  9  6
4:  6  2  9  5  1  8
5:  2  8  3  9  4  X
6:  9  3  8  2  7  1
7:  5  9  2  6  X  3
8:  1  4  7  X  2  5
9:  8  X  1  3  5  7
Add all six circled (or noted) digits (where X = 10),
Add 10, then
Subtract 11 repeatedly until you have 10 or less,
then, the result (using "X" for 10) is the single Checksum character "k".

For example, SN 000082 has 000024 circled.
The sum (2+4) is 6, add 10 = 16, subtract 11 = 5 (the check character).

Or, SN 000231 -> 000892, adding 8+9+2 = 19, add 10 = 29,
minus 11 = 18, minus 11 again = 7, the check character.

Please let me know if this does not work for you.
I think it is correct now.
 
Gary: Your calculation does not seem to work for the example in the OP. I get "7" not "5" for the checkdigit. What am I doing wrong ? After you add all the circles, do you SUBTRACT 1 (rather than ADD 1) ?

Edit: Sly one ! You edited the OP.

HOWEVER, on my own VIN ... it won't work. I think the "5" was correct and you subtract 1 (that makes it work for my VIN and the OP example if "5").
 
I think I got it OK now:

SN 203 -> ck 2
251 -> 2
257 -> 3
066 -> 7
294 -> 9

So, from a LEAF SN we can now create the "LEAF VIN"
(at least until Nissan starts getting fancy).
 
If you like Perl, it looks something like this:
Code:
    # Each VIN character has a numeric value:
    %value = ( 
              '0' => 0,
              '1' => 1,
              '2' => 2,
              '3' => 3,
              '4' => 4,
              '5' => 5,
              '6' => 6,
              '7' => 7,
              '8' => 8,
              '9' => 9,

              'A' => 1,        
              'B' => 2,
              'C' => 3,
              'D' => 4,
              'E' => 5,
              'F' => 6,
              'G' => 7,
              'H' => 8,

              'J' => 1,
              'K' => 2,
              'L' => 3,
              'M' => 4,
              'N' => 5,

              'P' => 7,

              'R' => 9,
              'S' => 2,
              'T' => 3,
              'U' => 4,
              'V' => 5,
              'W' => 6,
              'X' => 7,
              'Y' => 8,
              'Z' => 9
              );

    # Each VIN digit position has a multiplier
    @weights = (8,7,6,5,4,3,2,10, 0, 9,8,7,6,5,4,3,2);

    my $count = 0;
    my $sum = 0;
    # add up all the digits * weights
    foreach $digit (unpack ("c*", $vin)) {
        $sum += $value{chr($digit)} * $weights[$count++];
    }

    # Check digit is sum mod 11
    my $check = $sum % 11;
    my $chk = '0' + $check;
    $chk = 'X' if ($check == 10);
 
garygid said:
Thanks.
Harder to do that in my head.
But, for others, it might be easy.

Processing VIN JQDTR...
What does value('Q') return?

Sorry for bumping to an old thread.
You might have read your VIN number wrong or that is a fake VIN number because
a VIN will never include the letters I, O, or Q because of their similarity to the numbers "1" and "0"


if anyone needs to decode their vin# the site my dealer shop uses mostly is Honda Vin Decoder .
 
Hi Garry,

Can you please help us to extract the VIN from the CAN message.?

Can you please explain whether is is encoded with any security keys.? Please help


Thanks,

NOTLH
 
Hi Gary,

I was wondering about the VIN decoding of Nissan Leaf. Is the VIN being transmitted in encoded form on the EV CAN Bus?

If so, what would be the best way to decode the VIN, like using hardware decoding method or software decoding? Would you please guide us in narrowing our approach.

Regards,

NOTLH
 
Back
Top