Skip to main content

Enter Your VIN

Paste or type the 17-character Vehicle Identification Number. You’ll find it on the dashboard, door jamb, or any dealer paperwork.

0 / 17 characters

Where to Find the VIN

  • Driver’s side dashboard (visible through windshield)
  • Driver’s door jamb sticker
  • Vehicle registration or insurance card
  • Dealer quote, bill of sale, or purchase agreement
  • Online listings (AutoTrader, Kijiji, dealer websites)

Enter a VIN and hit Decode VIN to see the full vehicle breakdown.

Decoded the VIN. Now check the deal.

The VIN tells you what the vehicle is. The Deal Analyzer tells you what the deal is worth. Free, takes two minutes.

Score My Deal Next →

Straight Answers

The VIN is on the driver’s side dashboard (visible through the windshield), the driver’s door jamb sticker, your vehicle registration, and your insurance documents. On a dealer quote or bill of sale, it’s usually at the top of the document.

Yes. The decoder covers all vehicles sold in North America, including Canadian-market vehicles. VIN specifications are standardized across the continent, so the vehicle data is accurate for Canadian-market vehicles. Recall data is sourced from both Transport Canada and NHTSA (U.S.), giving you the most complete picture across both markets.

A VIN confirms the exact year, make, model, trim, engine, and factory-installed safety features. Use it to verify that the vehicle matches what the dealer is advertising. If the VIN says it’s a base trim and the dealer is charging for a higher trim, that’s a red flag.

Yes. After decoding the VIN, the tool checks both Transport Canada and NHTSA (U.S.) databases for recalls, classifies each by severity (critical, serious, or minor), and calculates a risk score. If any show up, confirm with the dealer that they completed the recall work before you finalize the deal.

Know What the Dealer Knows

A VIN tells you what the vehicle is. A Holdback consultation tells you what the deal is worth, and whether you should sign it. Already decoded a VIN? Run it through our Theft Risk Checker next.

One fee. No commissions. No dealer relationships. Same-day response.

Questions? Email hello@holdback.ca

You only buy a car every four to six years. They sell one every day.

Next Step

Pre-purchase due diligence on a specific vehicle?

A Deal Review pulls the wholesale auction value and confirms what the dealer’s margin should be.

Book My Consultation →
Total
'; html += '
' + caCount + '
Transport Canada
'; html += '
' + usCount + '
NHTSA (U.S.)
'; html += ''; // Severity breakdown bars var maxSev = Math.max(criticalCount, seriousCount, minorCount, 1); html += '
'; html += '

Severity Breakdown

'; html += '
'; html += '
Critical' + criticalCount + '
'; html += '
'; html += '
'; html += '
'; html += '
Serious' + seriousCount + '
'; html += '
'; html += '
'; html += '
'; html += '
Minor' + minorCount + '
'; html += '
'; html += '
'; html += '
'; // Severity filter buttons html += '
'; html += ''; if (criticalCount > 0) html += ''; if (seriousCount > 0) html += ''; if (minorCount > 0) html += ''; html += '
'; // Timeline container (populated by renderRecallTimeline) html += '
'; html += ''; } // Source links html += '
'; html += '
'; html += ''; html += 'Transport Canada Recall Search'; html += '
'; html += '
'; html += ''; html += 'NHTSA Recall Search (U.S.)'; html += '
'; html += '
'; html += ''; // end recalls-section // Insight box html += '
'; html += '
Holdback Tip
'; html += '

Use this before you sign. Confirm the VIN on the purchase agreement matches the vehicle you test-drove. Verify the trim level matches what you’re paying for. If the dealer quoted you for an EX-L but the VIN decodes to an EX, that’s a conversation you need to have before any money changes hands.

'; html += '
'; // Ontario Buyer Checklist html += '
'; html += '
Ontario Buyer Checklist
'; html += '
'; html += '
'; html += ''; html += '
PPSA Lien Search

Check for outstanding loans or liens against this vehicle. If a lien exists and you buy, the lender can repossess. Search on ServiceOntario

'; html += '
'; html += '
'; html += ''; html += '
Safety Standards Certificate

Required for any used vehicle sold in Ontario. The seller must provide one or negotiate who covers the inspection ($200\u2013$400). Without it, you cannot register the vehicle.

'; html += '
'; html += '
'; html += ''; html += '
Recall Completion

' + (totalCount > 0 ? 'This vehicle has ' + totalCount + ' recall(s) flagged above (risk score: ' + riskScore + '/100). ' : '') + 'Confirm with the dealer that all recalls have been completed before purchase. Ask for written confirmation.

'; html += '
'; html += '
'; html += ''; html += '
Vehicle History Report

Check for accidents, previous registrations, and odometer records. Get CARFAX Canada report for this VIN

'; html += '
'; html += '
'; html += '
'; html += '

Want a full deal review before you sign?

'; html += 'Book My Consultation \u2192'; html += '
'; html += '
'; // Copy results button html += '
'; html += ''; html += ''; html += '
'; resultsContent.innerHTML = html; // ── Wire recall timeline + filter buttons ── if (totalCount > 0) { renderRecallTimeline('all'); var filterBtns = document.querySelectorAll('#recallFilterBar .recall-filter-btn'); for (var fi = 0; fi < filterBtns.length; fi++) { filterBtns[fi].addEventListener('click', function() { for (var fb = 0; fb < filterBtns.length; fb++) filterBtns[fb].classList.remove('active'); this.classList.add('active'); recallCurrentFilter = this.getAttribute('data-filter'); recallVisibleCount = 5; renderRecallTimeline(recallCurrentFilter); }); } var showMoreBtn = document.getElementById('btnRecallShowMore'); if (showMoreBtn) { showMoreBtn.addEventListener('click', function() { recallVisibleCount += 10; renderRecallTimeline(recallCurrentFilter); }); } } // ── Wire copy button ── document.getElementById('btnCopyResults').addEventListener('click', function() { var lines = []; lines.push('VIN: ' + vin); lines.push(year + ' ' + make + ' ' + model + (trimDisplay ? ' ' + trimDisplay : '')); lines.push(''); if (engineDesc) lines.push('Engine: ' + engineDesc); if (transDesc) lines.push('Transmission: ' + transDesc); if (driveType) lines.push('Drivetrain: ' + driveType); if (fuelType) lines.push('Fuel: ' + fuelType); if (batteryKWh) lines.push('Battery: ' + batteryKWh + ' kWh'); if (bodyClass) lines.push('Body: ' + bodyClass); if (madeIn) lines.push('Made in: ' + madeIn); lines.push(''); lines.push('Recalls: ' + (totalCount === 0 ? 'None found' : totalCount + ' found (Risk Score: ' + riskScore + '/100)')); if (criticalCount > 0) lines.push(' Critical: ' + criticalCount); if (seriousCount > 0) lines.push(' Serious: ' + seriousCount); if (minorCount > 0) lines.push(' Minor: ' + minorCount); lines.push(' Transport Canada: ' + caCount + ' | NHTSA: ' + usCount); deduped.forEach(function(r) { var src = r.source === 'ca' ? 'CA' : 'US'; var sev = r.severity.charAt(0).toUpperCase() + r.severity.slice(1); lines.push(' - [' + src + '] [' + sev + '] ' + r.component + (r.description ? ': ' + truncateDesc(r.description, 120) : '')); }); lines.push(''); lines.push('Decoded at holdback.ca/vin-decoder'); navigator.clipboard.writeText(lines.join('\n')).then(function() { var el = document.getElementById('vinCopied'); el.style.display = 'inline'; setTimeout(function() { el.style.display = 'none'; }, 2000); }); }); // Show reset and print buttons btnReset.style.display = 'block'; document.getElementById('btnPrintVin').style.display = 'block'; btnDecode.style.display = 'none'; // Scroll to results on mobile if (window.innerWidth <= 768) { resultsPanel.scrollIntoView({ behavior: 'smooth', block: 'start' }); } } /* ── Render recall timeline (filterable) ── */ function renderRecallTimeline(filter) { var list = document.getElementById('recallTimelineList'); if (!list) return; var filtered = []; for (var i = 0; i < allRecallsMerged.length; i++) { if (filter === 'all' || allRecallsMerged[i].severity === filter) { filtered.push(allRecallsMerged[i]); } } if (filtered.length === 0) { list.innerHTML = '

No ' + filter + ' recalls found.

'; var smb = document.getElementById('btnRecallShowMore'); if (smb) smb.style.display = 'none'; return; } var showCount = Math.min(recallVisibleCount, filtered.length); var html = ''; for (var j = 0; j < showCount; j++) { var r = filtered[j]; var badgeCls = r.severity === 'critical' ? 'badge-critical' : (r.severity === 'serious' ? 'badge-serious' : 'badge-minor'); var badgeText = r.severity.charAt(0).toUpperCase() + r.severity.slice(1); var sourceCls = r.source === 'ca' ? 'source-ca' : 'source-us'; var sourceText = r.source === 'ca' ? 'Transport Canada' : 'NHTSA'; html += '
'; html += '
'; html += '' + esc(r.component) + ''; html += '' + badgeText + ''; html += '
'; html += '
'; html += '' + sourceText + ''; html += formatRecallDate(r.date); if (r.recallNumber) html += ' · #' + esc(r.recallNumber); html += '
'; if (r.description) { html += '
' + esc(truncateDesc(r.description, 200)) + '
'; } html += '
'; } list.innerHTML = html; var showMoreBtn = document.getElementById('btnRecallShowMore'); if (showMoreBtn) { if (showCount < filtered.length) { showMoreBtn.style.display = 'block'; showMoreBtn.textContent = 'Show more (' + (filtered.length - showCount) + ' remaining)'; } else { showMoreBtn.style.display = 'none'; } } } function specItem(label, value) { return '
' + label + '
' + value + '
'; } })();