VIN Entry
Paste from Excel · VIN, City, State columns in any order · City/State optionalPaste a VIN plus an optional City and State — as separate columns in any order, or as a City, State combo. State can be an abbreviation (TX) or full name (Texas). On decode, the box is tidied to VIN → City, State. Header rows, blanks and duplicates are handled automatically; messy text (emails, PDF copy-paste) also works. VINs are sent to the NHTSA vPIC decoder in batches.
Import from PDF
Text PDFs read instantly · scanned PDFs offer OCR (slower) · parsed locally in your browser · needs internet on first use
Drag & drop a PDF vehicle schedule here — or click to browse.
Every VIN found in the document is added to the VIN list above, paired with the state abbreviation detected on the same line when there is one. Review the pairs before decoding.
Every VIN found in the document is added to the VIN list above, paired with the state abbreviation detected on the same line when there is one. Review the pairs before decoding.
How it works
1. Each VIN is decoded via the public NHTSA vPIC API, returning Model Year, Make, Model, Body Class and GVWR.
2. Body Class maps to a unit Class (PPT, Truck, Tractor, Trailer, Undetermined). A blank body class is treated as a Trailer.
3. GVWR maps to a Weight Class (PPT, Light, Medium, Heavy, XHeavy).
4. Class × Weight Class resolves to a Final Determination code (PPT, LT, MT, HT, XHT, HTT, XHTT, Trailer or Undetermined) via the determination matrix, then summarized on the VIN Results tab.
5. A vehicle with an incomplete or unknown body class but a usable GVWR is classified by its weight class (PPT→PPT, Light→LT, Medium→MT, Heavy→HT, XHeavy→XHT) instead of left Undetermined — those vehicles are listed separately under Classified via GVWR so you can audit the inference.
2. Body Class maps to a unit Class (PPT, Truck, Tractor, Trailer, Undetermined). A blank body class is treated as a Trailer.
3. GVWR maps to a Weight Class (PPT, Light, Medium, Heavy, XHeavy).
4. Class × Weight Class resolves to a Final Determination code (PPT, LT, MT, HT, XHT, HTT, XHTT, Trailer or Undetermined) via the determination matrix, then summarized on the VIN Results tab.
5. A vehicle with an incomplete or unknown body class but a usable GVWR is classified by its weight class (PPT→PPT, Light→LT, Medium→MT, Heavy→HT, XHeavy→XHT) instead of left Undetermined — those vehicles are listed separately under Classified via GVWR so you can audit the inference.
VIN Results
No data yet — decode VINs on the VIN Entry tab.Determination Breakdown
Composition
Location × Determination
Unit counts by city / state (falls back to state when no city is given)Undetermined VINs
0 VIN(s) require review| VIN | Model Year | Make | Model | Body Class | GVWR | City, State |
|---|
Driver Entry
Paste from Excel · fill in either or both date boxes · names optional · rows pair up line-by-lineOne date per line — used to calculate age. Accepts M/D/YYYY, M/D/YY, YYYY-MM-DD. A header row is skipped automatically. Leave this box empty if you only have start dates.
One date per line — used to calculate tenure. If you fill in both boxes, keep them in the same row order (blank cells blank) so rows stay aligned. Leave this box empty if you only have dates of birth.
Optional — one name per line, in the same row order as the dates. Names appear on the watchlists, input issues, and the CSV export. Leave empty to skip.
Import from PDF
Text PDFs read instantly · scanned PDFs offer OCR (slower) · parsed locally in your browser · needs internet on first use
Drag & drop a PDF driver schedule here — or click to browse.
On each line of the document, the first date is taken as the DOB and the second as the start date (swapped automatically if out of order). Both boxes above are filled in for your review.
On each line of the document, the first date is taken as the DOB and the second as the start date (swapped automatically if out of order). Both boxes above are filled in for your review.
How it works
1. Paste whichever column(s) you have — DOB, start dates, or both. With both, line 1 of each box is the same driver, line 2 the next, and so on.
2. Age is computed from DOB and tenure from start date, as of the "Calculate as of" date (defaults to today). A driver with only one of the two simply contributes to that one statistic.
3. The Driver Results tab shows total drivers, the age-group and tenure breakdowns, and watchlists of drivers under 25 and 65 and over.
4. A row is only excluded if it has no usable date at all (or an inconsistency, like a start date before the DOB). Excluded rows are listed under Input Issues so nothing disappears silently. Tip: pasting both columns at once into the DOB box also works.
2. Age is computed from DOB and tenure from start date, as of the "Calculate as of" date (defaults to today). A driver with only one of the two simply contributes to that one statistic.
3. The Driver Results tab shows total drivers, the age-group and tenure breakdowns, and watchlists of drivers under 25 and 65 and over.
4. A row is only excluded if it has no usable date at all (or an inconsistency, like a start date before the DOB). Excluded rows are listed under Input Issues so nothing disappears silently. Tip: pasting both columns at once into the DOB box also works.
Driver Results
No data yet — enter drivers on the Driver Entry tab.Age Breakdown
Tenure Breakdown
Drivers Under 25
| Row | Name | DOB | Age | Start Date | Tenure (yrs) |
|---|
Drivers 65 and Over
| Row | Name | DOB | Age | Start Date | Tenure (yrs) |
|---|
Input Issues
| Row | Name | DOB Entry | Start Date Entry | Issue |
|---|
Drag in MVR submission PDFs. Each driver is read and summarized — violations, accidents, suspensions, and age flags. Everything runs locally in your browser; nothing is uploaded.
Drop MVR PDF(s) here
or click to choose files
or click to choose files