Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: CheckAnyPlate – Free License Plate to VIN Decoder (checkanyvin.com)
48 points by AutoAPI on Oct 9, 2023 | hide | past | favorite | 43 comments
This started as a project to scratch my own itch and has grown from there.

Initially I wanted a way to easily see if potential funny license plates were available in a given state, but I've also started using it at car shows when I'm curious which engine or transmission is in a car.

It most cases the plate can be matched to a VIN using DMV data, and then some information about the vehicle can be decoded into basic car specs

You can also purchase a full vehicle history report which uses data from the NMVTIS and other services to show accident history, previous titles, and salvage issues.

The site is built using the Laravel framework and connects to a bunch of APIs like the DOT and NHTSA for Safety and recall information.

This is my first time running Laravel on AWS Lambda so let me know how the site feels to you



Seems weird to call it a decoder. There's no correlation between VIN and plate other than a plate is assigned to a VIN when it is registered. It's not like the plate number is generated based on the value of the VIN.


"VIN Decoder" is an auto industry term for software that takes a VIN and outputs human-readable information about the car. Historically they printed information encoded into the VIN, and over time database lookups were added. The name is now anachronistic.


Fair enough. I suppose I can see it from the VIN side as "decoding" it.


The plate is matched with a VIN using DMV records, and then we decode the VIN to show Make, Model, Year, etc


I'm surprised plate-to-VIN information is publicly available for Washington state, at least. The DOL here will let you renew tabs online[1] using just the plate number and last four digits of the associated VIN.[2] I'm sure there must be some interesting fraud and/or harassment potential for being able to access someone else's account.

Edit: just to be clear, I'm not saying there's anything wrong with building an app that uses the data. I'm surprised the data is available from the DOL, given that they use it for authentication.

[1] And update one's mailing address information, AFAIK.

[2] https://fortress.wa.gov/dol/extdriveses/NoLogon/


first idea is, things like red light tickets and toll bills are sent to the registration address. so that could be a hassle.

you probably need to pay for tabs with a card, so it's identifiable, but there's obvious ways around that


Fyi, if you park your car in public, this same info is already publicly viewable.


FYI, there are various other front-ends for NMVTIS data here: https://vehiclehistory.bja.ojp.gov/nmvtis_vehiclehistory


I tried the first site listed there (Bumper.com) and it played a (probably fake) progress bar animation for a full minute and then asked me for my e-mail before it would show me any data. In contrast, OP's site showed me the results within a few seconds and didn't ask for additional information.


It's crazy that some places charge up to $40 for basically the same data. My goal is to make enough to cover the paid API costs while continuing to bring down the cost of the reports.


The British DVLA already provides a similar service for cars registered in the UK:

https://vehicleenquiry.service.gov.uk/


Interesting application, but my license plate (yes, I did renew the registration earlier this year) appears to not exist. The VIN number search gives the correct results.

[Edit: the results page should say “active lien” rather than ”active Lein”]


Thanks, fixed the typo.


> Check any plate

> Checks only American plates

Alrighty then


Works with international 17 digit VINs as well


Oh I just saw the state selection and didn't bother continuing since it was clearly USA oriented.

Neither of my cars' VINs work there anyway, one is ZAR93900007055169. vindecoder.pl works just fine https://www.vindecoder.pl/ZAR93900007055169


Your "age" calculation is broken.


It's jesus's age not the car


This.

Tested on a personal vehicle and it says it’s “2023” years old lol


Ooops, fixing now - thanks


What does "That is not a valid VIN" indicate? Does it just mean the VIN wasn't found, or do you actually verify that the VIN lives up to specifications? I entered a VIN that I know is valid, but has never had US plates (but has been in the US and US insured), and it claimed it was invalid.


This error means it failed a basic Vin check. VINs have a check digit and a few other requirements, and if it fails we return that error.

Do you have a VIN that you think is vaild? Let me know and I can check the exact issue - mail@checkanyvin.com


Ah, you use a NA VIN check. My understanding is that there are five versions of VIN, three of which do not have the check digit: https://en.wikipedia.org/wiki/Vehicle_identification_number#...

This is definitely an EU VIN. After 25 years, cars can be imported into the US, so there are definitely non-NA VIN cars driving around the US. And prior to 1981, it was basically a free for all. I have a car with an 8 digit VIN!


Sorry, I missed this comment before replying to your email, that's interesting about the difference in check digit! I will definitely look into supporting more VINs


Vehicles with less an a 1L engine get converted to float- might want to convert to cubic centimeters instead


Thanks for noticing -- I'll make a small update now


How do you get the DMV data?


There are a few different APIs that provide basic Plate to VIN matching. No other data is provided, the rest comes from the VIN decoding itself


Is the raw data available anywhere in parseable format? I'd be curious about looking up new license plates recognized by my home automation image recognition system in my driveway.


You can decode VIN data pretty easily, but the APIs that match a Plate to a VIN charge a fee for each lookup


It says my 2018 tesla is 2023 years old


In the original broken timeline it was sent back two-thousand some-odd years to lead humanity to a better timeline.


Thanks for reporting -- fixing now


This looks great, nice work!


DPPA and your EULAs might have something to say about this.


No personal information is available (even to me), but DMVs do share VIN to plate mappings


CheckAnyPlateAsLongAsItsAnUSOne would be an even greater name :-)


Speaking as a US resident, it's not uncommon for me to hop on an HN thread and realize after a second that it's about a different country—India is very common, but also the UK and Canada and occasionally Germany. Sometimes it even takes a few minutes before that's clear. When that happens, sometimes I keep reading, sometimes I move on. What I don't do is leave comments about how irritated I am that someone had the temerity to start a conversation without making it clear in the title that it didn't apply to me.


If you use the VIN search it will work on any 17 digit VIN from around the world.


The license plate isn't incorporated into the VIN in any form though, so this is demonstrably -- and literally -- not decoding.

"Identifier" or "Finder" maybe, but not in any way a decoder...

A "VIN decoder" would take a VIN and identify the World Manufacturer Identifier (country of origin / manufacturer), vehicle descriptor, model year, manufacturing plant, and production number -- but not the license plate.


The plate is matched with a VIN using DMV records, which we then decode, to get the Make, Model, etc as you described.


So it's a plate matcher, not a "license plate to VIN decoder" - there is no "decoding" between plate and VINm so it's inaccurate.

Interesting that you resort to downvoting basic facts...

Also, is it "I" or "we"? You've said it's just you and a project you made, suddenly when someone points out a mistake it's "we"? Make your mind up...


I'm not sure why you are arguing with me.

We "match" the plate to a VIN, and then we DECODE the VIN to get all of the data we show on the page. Yes, we decode the VIN, not just "match" it




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: