← Back to Tools

⚖️ Spread Calculator

Break down point spreads & find the juice

Enter the spread odds for both sides. The calculator reveals the implied probability, the vig (juice), and the fair odds without the house edge.

For informational purposes only. Not legal gambling advice. Must be 21+ in your jurisdiction.
Gamble responsibly. If you or someone you know has a gambling problem, call 1-800-522-4700.

// Calculator function americanToDecimal(odds) { const o = parseFloat(odds); if (isNaN(o) || o === 0) return null; return o > 0 ? (o / 100) + 1 : (100 / Math.abs(o)) + 1; } function decimalToAmerican(d) { return d >= 2 ? '+' + Math.round((d - 1) * 100) : Math.round(-100 / (d - 1)); } function calculate() { const favDec = americanToDecimal(document.getElementById('favOdds').value); const dogDec = americanToDecimal(document.getElementById('dogOdds').value); const spread = parseFloat(document.getElementById('spread').value); if (!favDec || !dogDec || isNaN(spread)) return; const favProb = (1 / favDec) * 100; const dogProb = (1 / dogDec) * 100; const totalProb = favProb + dogProb; const vig = totalProb - 100; // Fair odds (remove vig equally) const fairFavProb = favProb / (totalProb / 100); const fairDogProb = dogProb / (totalProb / 100); const fairFavDec = 100 / fairFavProb; const fairDogDec = 100 / fairDogProb; document.getElementById('favProb').textContent = favProb.toFixed(2) + '%'; document.getElementById('dogProb').textContent = dogProb.toFixed(2) + '%'; document.getElementById('totalProb').textContent = totalProb.toFixed(2) + '%'; document.getElementById('vig').textContent = vig.toFixed(2) + '%'; document.getElementById('fairFav').textContent = decimalToAmerican(fairFavDec); document.getElementById('fairDog').textContent = decimalToAmerican(fairDogDec); document.getElementById('results').classList.remove('hidden'); // Increment smart bets counter if (window.incrementSmartBets) window.incrementSmartBets(); } document.addEventListener('input', function(e) { if (['favOdds', 'dogOdds', 'spread'].includes(e.target.id)) { const r = document.getElementById('results'); if (!r.classList.contains('hidden')) calculate(); } }); calculate();