A parlay bet combines multiple individual wagers into one single ticket. To win a parlay, every single leg of the bet must win. Because the risk is higher, the payout is significantly larger than placing individual bets.
Calculating Parlay Odds Manually
To calculate parlay odds, you must first convert American odds to Decimal odds. American odds are expressed as positive numbers (underdogs) or negative numbers (favorites).
Positive Odds (+): (Odds / 100) + 1
Negative Odds (-): (100 / |Odds|) + 1
Once converted, multiply all the Decimal odds together. Multiply that final number by your wager to get the total payout.
Example Calculation
Imagine a 3-team parlay with the following American odds and a $100 wager:
Team A: +150 (Decimal: 2.50)
Team B: -110 (Decimal: 1.91)
Team C: +200 (Decimal: 3.00)
Total Decimal: 2.50 × 1.91 × 3.00 = 14.325
Total Payout: $100 × 14.325 = $1,432.50
Total Profit: $1,332.50
Common Parlay Terms
Term
Definition
Leg
A single individual bet within a parlay.
Push
When a game ends in a tie. In parlays, a push usually removes that leg and reduces the odds.
Juice/Vig
The commission the sportsbook takes on a bet.
function calculateParlay() {
var wager = parseFloat(document.getElementById('wagerAmount').value);
var oddsElements = document.getElementsByClassName('odds-input');
var resultDiv = document.getElementById('parlay-results');
if (isNaN(wager) || wager <= 0) {
alert('Please enter a valid wager amount.');
return;
}
var totalDecimal = 1.0;
var legsCount = 0;
for (var i = 0; i 0) {
decimalLeg = (val / 100) + 1;
} else if (val < 0) {
decimalLeg = (100 / Math.abs(val)) + 1;
}
if (val === 100 || val === -100) {
decimalLeg = 2.0;
}
totalDecimal *= decimalLeg;
legsCount++;
}
}
if (legsCount = 2.0) {
var am = Math.round((totalDecimal – 1) * 100);
americanOddsString = "+" + am;
} else {
var am = Math.round(-100 / (totalDecimal – 1));
americanOddsString = am.toString();
}
document.getElementById('resTotalDecimal').innerText = totalDecimal.toFixed(3);
document.getElementById('resTotalAmerican').innerText = americanOddsString;
document.getElementById('resProfit').innerText = "$" + profit.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById('resPayout').innerText = "$" + payout.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
resultDiv.style.display = 'block';
}