Craps Odds & Payout Calculator
ANA›Life Services Authority›National Calculator Authority›Craps Odds & Payout Calculator
.calc-container { max-width: 640px; margin: 2rem 0; padding: 1.5rem; background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); font-family: system-ui, -apple-system, sans-serif; } .calc-container h3 { font-family: Georgia, serif; font-size: 1.15rem; color: #1a1a1a; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; flex-wrap: wrap; } .calc-row label { min-width: 160px; font-size: 0.9rem; color: #333; font-weight: 500; } .calc-row input[type="number"], .calc-row select { flex: 1; min-width: 120px; max-width: 200px; padding: 0.5rem 0.6rem; border: 1px solid #ccc; border-radius: 4px; font-size: 0.9rem; font-family: system-ui, sans-serif; color: #1a1a1a; background: #fafaf8; } .calc-row input:focus, .calc-row select:focus { outline: none; border-color: var(--ac, #3d5a80); box-shadow: 0 0 0 2px rgba(26,74,138,0.12); } .calc-row .unit { font-size: 0.82rem; color: #888; min-width: 30px; } .calc-btn { display: inline-block; margin-top: 0.5rem; padding: 0.55rem 1.5rem; background: var(--ac, #3d5a80); color: #fff; border: none; border-radius: 4px; font-size: 0.9rem; font-weight: 600; cursor: pointer; font-family: system-ui, sans-serif; } .calc-btn:hover { opacity: 0.9; } .calc-result { margin-top: 1.25rem; padding: 1rem 1.25rem; background: #f0f6fc; border-left: 3px solid var(--ac, #3d5a80); border-radius: 0 6px 6px 0; display: none; } .calc-result.visible { display: block; } .calc-result-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: #666; margin-bottom: 0.25rem; } .calc-result-value { font-size: 1.6rem; font-weight: 700; color: var(--ac, #3d5a80); } .calc-result-detail { font-size: 0.85rem; color: #555; margin-top: 0.5rem; line-height: 1.5; } .calc-note { margin-top: 1rem; font-size: 0.8rem; color: #888; font-style: italic; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.75rem; } .calc-grid-item { padding: 0.6rem 0.8rem; background: #f8f9fa; border-radius: 4px; border: 1px solid #eee; } .calc-grid-item .label { font-size: 0.75rem; color: #888; text-transform: uppercase; letter-spacing: 0.04em; } .calc-grid-item .value { font-size: 1.1rem; font-weight: 600; color: #1a1a1a; } @media (max-width: 720px) { .calc-row { flex-direction: column; align-items: flex-start; gap: 0.3rem; } .calc-row label { min-width: auto; } .calc-row input[type="number"], .calc-row select { max-width: 100%; width: 100%; } .calc-grid { grid-template-columns: 1fr; } } .calc-chart { margin: 1rem 0; text-align: center; } .calc-chart svg { max-width: 100%; height: auto; } .calc-chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem 1.2rem; margin-top: 0.6rem; font-size: 0.8rem; color: #555; } .calc-chart-legend span { display: inline-flex; align-items: center; gap: 0.3rem; } .calc-chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; font-style: normal; } .calc-related { max-width: 640px; margin: 2rem 0 1rem; padding: 1.25rem 1.5rem; background: #f8f9fa; border: 1px solid #e8e8e8; border-radius: 8px; } .calc-related h3 { font-family: Georgia, serif; font-size: 1rem; color: #1a1a1a; margin: 0 0 0.75rem; padding-bottom: 0.4rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-related-list { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem 1.5rem; } .calc-related-list li a { font-size: 0.88rem; color: var(--ac, #3d5a80); text-decoration: none; } .calc-related-list li a:hover { text-decoration: underline; } .calc-browse-all { margin: 0.5rem 0 0; font-size: 0.9rem; font-weight: 600; } .calc-browse-all a { color: var(--ac, #3d5a80); text-decoration: none; } .calc-browse-all a:hover { text-decoration: underline; } @media (max-width: 720px) { .calc-related-list { grid-template-columns: 1fr; } }
Craps Odds & Payout Calculator
Calculate the true odds, house edge, and potential payout for any standard craps bet. Select your bet type, enter your wager, and see the full breakdown instantly.
Bet Type
Pass Line Don't Pass (Bar 12) Come Don't Come (Bar 12)
Place 4 Place 5 Place 6 Place 8 Place 9 Place 10
Buy 4 Buy 5 Buy 6 Buy 8 Buy 9 Buy 10 Lay 4 Lay 5 Lay 6 Lay 8 Lay 9 Lay 10
Free Odds on 4 or 10 Free Odds on 5 or 9 Free Odds on 6 or 8
Field Bet Any Seven Any Craps (2, 3, or 12) Aces (Craps 2) Ace-Deuce (Craps 3) Yo (11) Boxcars (Craps 12) Hard 4 Hard 6 Hard 8 Hard 10 Big 6 Big 8
Wager Amount ($)
Commission Rate (%)
Standard casino commission on Buy/Lay bets (typically 5%).
Calculate
(function(){
const BET_DATA = { // [waysToWin, waysToLose, payoutNumerator, payoutDenominator, label, notes] // For multi-roll bets, ways are conditional on the point being established. pass_line: { ways_win:244, ways_lose:251, pay_n:1, pay_d:1, label:"Pass Line", house_edge:1.41, note:"Multi-roll. Wins on 7/11 come-out; loses on 2/3/12. If point set, wins if point repeats before 7." }, dont_pass: { ways_win:949, ways_lose:976, pay_n:1, pay_d:1, label:"Don't Pass", house_edge:1.36, note:"Multi-roll. Wins on 2/3; pushes on 12; loses on 7/11. If point set, wins if 7 before point." }, come: { ways_win:244, ways_lose:251, pay_n:1, pay_d:1, label:"Come", house_edge:1.41, note:"Same rules as Pass Line but placed after come-out roll." }, dont_come: { ways_win:949, ways_lose:976, pay_n:1, pay_d:1, label:"Don't Come", house_edge:1.36, note:"Same rules as Don't Pass but placed after come-out roll." },
place_4: { ways_win:3, ways_lose:6, pay_n:9, pay_d:5, label:"Place 4", house_edge:6.67 }, place_5: { ways_win:4, ways_lose:6, pay_n:7, pay_d:5, label:"Place 5", house_edge:4.00 }, place_6: { ways_win:5, ways_lose:6, pay_n:7, pay_d:6, label:"Place 6", house_edge:1.52 }, place_8: { ways_win:5, ways_lose:6, pay_n:7, pay_d:6, label:"Place 8", house_edge:1.52 }, place_9: { ways_win:4, ways_lose:6, pay_n:7, pay_d:5, label:"Place 9", house_edge:4.00 }, place_10: { ways_win:3, ways_lose:6, pay_n:9, pay_d:5, label:"Place 10", house_edge:6.67 },
buy_4: { ways_win:3, ways_lose:6, pay_n:2, pay_d:1, label:"Buy 4", house_edge:4.76, commission:true }, buy_5: { ways_win:4, ways_lose:6, pay_n:3, pay_d:2, label:"Buy 5", house_edge:4.76, commission:true }, buy_6: { ways_win:5, ways_lose:6, pay_n:6, pay_d:5, label:"Buy 6", house_edge:4.76, commission:true }, buy_8: { ways_win:5, ways_lose:6, pay_n:6, pay_d:5, label:"Buy 8", house_edge:4.76, commission:true }, buy_9: { ways_win:4, ways_lose:6, pay_n:3, pay_d:2, label:"Buy 9", house_edge:4.76, commission:true }, buy_10: { ways_win:3, ways_lose:6, pay_n:2, pay_d:1, label:"Buy 10", house_edge:4.76, commission:true },
lay_4: { ways_win:6, ways_lose:3, pay_n:1, pay_d:2, label:"Lay 4", house_edge:2.44, commission:true, lay:true }, lay_5: { ways_win:6, ways_lose:4, pay_n:2, pay_d:3, label:"Lay 5", house_edge:3.23, commission:true, lay:true }, lay_6: { ways_win:6, ways_lose:5, pay_n:5, pay_d:6, label:"Lay 6", house_edge:4.00, commission:true, lay:true }, lay_8: { ways_win:6, ways_lose:5, pay_n:5, pay_d:6, label:"Lay 8", house_edge:4.00, commission:true, lay:true }, lay_9: { ways_win:6, ways_lose:4, pay_n:2, pay_d:3, label:"Lay 9", house_edge:3.23, commission:true, lay:true }, lay_10: { ways_win:6, ways_lose:3, pay_n:1, pay_d:2, label:"Lay 10", house_edge:2.44, commission:true, lay:true },
odds_4: { ways_win:3, ways_lose:6, pay_n:2, pay_d:1, label:"Free Odds (4/10)", house_edge:0.00, note:"True odds bet — zero house edge. Pays 2:1." }, odds_5: { ways_win:4, ways_lose:6, pay_n:3, pay_d:2, label:"Free Odds (5/9)", house_edge:0.00, note:"True odds bet — zero house edge. Pays 3:2." }, odds_6: { ways_win:5, ways_lose:6, pay_n:6, pay_d:5, label:"Free Odds (6/8)", house_edge:0.00, note:"True odds bet — zero house edge. Pays 6:5." },
field: { ways_win:16, ways_lose:20, pay_n:1, pay_d:1, label:"Field Bet", house_edge:5.56, note:"Wins on 2,3,4,9,10,11,12. 2 pays 2:1; 12 pays 3:1 (some casinos 2:1). Loses on 5,6,7,8." }, any_7: { ways_win:6, ways_lose:30, pay_n:4, pay_d:1, label:"Any Seven", house_edge:16.67 }, any_craps: { ways_win:4, ways_lose:32, pay_n:7, pay_d:1, label:"Any Craps", house_edge:11.11 }, craps_2: { ways_win:1, ways_lose:35, pay_n:30, pay_d:1, label:"Aces (2)", house_edge:13.89 }, craps_3: { ways_win:2, ways_lose:34, pay_n:15, pay_d:1, label:"Ace-Deuce (3)", house_edge:11.11 }, yo_11: { ways_win:2, ways_lose:34, pay_n:15, pay_d:1, label:"Yo (11)", house_edge:11.11 }, craps_12: { ways_win:1, ways_lose:35, pay_n:30, pay_d:1, label:"Boxcars (12)", house_edge:13.89 }, hard_4: { ways_win:1, ways_lose:35, pay_n:7, pay_d:1, label:"Hard 4", house_edge:11.11, note:"Wins on 2+2 before easy 4 or 7." }, hard_6: { ways_win:1, ways_lose:35, pay_n:9, pay_d:1, label:"Hard 6", house_edge:9.09, note:"Wins on 3+3 before easy 6 or 7." }, hard_8: { ways_win:1, ways_lose:35, pay_n:9, pay_d:1, label:"Hard 8", house_edge:9.09, note:"Wins on 4+4 before easy 8 or 7." }, hard_10: { ways_win:1, ways_lose:35, pay_n:7, pay_d:1, label:"Hard 10", house_edge:11.11, note:"Wins on 5+5 before easy 10 or 7." }, big_6: { ways_win:5, ways_lose:6, pay_n:1, pay_d:1, label:"Big 6", house_edge:9.09, note:"Equivalent to Place 6 but pays even money instead of 7:6." }, big_8: { ways_win:5, ways_lose:6, pay_n:1, pay_d:1, label:"Big 8", house_edge:9.09, note:"Equivalent to Place 8 but pays even money instead of 7:6." }, };
const COMMISSION_BETS = new Set(["buy_4","buy_5","buy_6","buy_8","buy_9","buy_10", "lay_4","lay_5","lay_6","lay_8","lay_9","lay_10"]);
window.craUpdatePointField = function() { const bet = document.getElementById("cra-bet-type").value; const commRow = document.getElementById("cra-commission-row"); commRow.style.display = COMMISSION_BETS.has(bet) ? "" : "none"; document.getElementById("cra-result").style.display = "none"; };
window.craCalc = function() { const resultEl = document.getElementById("cra-result"); const betKey = document.getElementById("cra-bet-type").value; const wager = parseFloat(document.getElementById("cra-wager").value); const commPct = parseFloat(document.getElementById("cra-commission").value) || 5;
// --- Validation --- if (isNaN(wager) || wager 1000000) { resultEl.innerHTML = 'Wager must be $1,000,000 or less.
'; resultEl.style.display = "block"; return; } if (COMMISSION_BETS.has(betKey) && (isNaN(commPct) || commPct 25)) { resultEl.innerHTML = 'Commission must be between 0% and 25%.
'; resultEl.style.display = "block"; return; }
const b = BET_DATA[betKey]; const totalWays = b.ways_win + b.ways_lose;
// --- Probability --- const probWin = b.ways_win / totalWays; const probLose = b.ways_lose / totalWays;
// --- True Odds --- const trueOddsN = b.ways_lose; const trueOddsD = b.ways_win;
// --- Payout calculation --- let grossPayout, commission = 0, netPayout, totalReturn;
if (b.commission) { const commRate = commPct / 100; if (b.lay) { // Lay: wager is the amount risked; win = wager * (pay_n/pay_d) grossPayout = wager * (b.pay_n / b.pay_d); commission = grossPayout * commRate; // commission on winnings netPayout = grossPayout - commission; totalReturn = wager + netPayout; // get wager back + net win } else { // Buy: pay true odds but charge commission on wager up front commission = wager * commRate; grossPayout = wager * (b.pay_n / b.pay_d); netPayout = grossPayout; // payout unchanged; commission is a cost totalReturn = wager + netPayout - commission; } } else { grossPayout = wager * (b.pay_n / b.pay_d); netPayout = grossPayout; totalReturn = wager + netPayout; }
// --- Expected Value --- // EV = (prob_win * net_win) - (prob_lose * wager_at_risk) const wagerAtRisk = b.commission && !b.lay ? wager + commission : wager; const ev = (probWin * netPayout) - (probLose * wagerAtRisk);
// --- House Edge (use stored authoritative value) --- const houseEdge = b.house_edge;
// --- Dynamic house edge for custom commission --- let dynamicHE = null; if (b.commission) { const commRate = commPct / 100; if (b.lay) { // HE = commission_rate * prob_win (commission paid only on wins) dynamicHE = (commRate * probWin) * 100; } else { // HE = commission_rate * prob_win (commission paid up front, recovered if win) dynamicHE = (commRate / (1 + commRate)) * 100; } }
const displayHE = dynamicHE !== null ? dynamicHE : houseEdge;
// --- Format helpers --- const fmt = v => v.toLocaleString("en-US", {minimumFractionDigits:2, maximumFractionDigits:2}); const fmtP = v => (v*100).toFixed(2); const fmtC = v => "$" + fmt(v);
const payLabel = b.pay_n + ":" + b.pay_d; const trueLabel = trueOddsN + ":" + trueOddsD;
- const evClass = ev >= 0 ? "color:#27ae60;font-weight:700;" : "color:#e74c3c;font-weight:700;";
- const heClass = displayHE === 0 ? "color:#27ae60;font-weight:700;" : displayHE Commission (${commPct}%)${fmtC(commission)}`
-
- "";
- const noteLine = b.note
- ?
${b.note} - "";
resultEl.innerHTML = ` ### ${b.label} — Results
MetricValue Wager${fmtC(wager)} ${commLine} Casino Payout Odds${payLabel} True (Fair) Odds${trueLabel} Probability of Winning${fmtP(probWin)}% (${b.ways_win} of ${totalWays} outcomes) Probability of Losing${fmtP(probLose)}% (${b.ways_lose} of ${totalWays} outcomes) Gross Win (if bet wins)${fmtC(grossPayout)} Net Win (after commission)${fmtC(netPayout)} Total Return (if bet wins)${fmtC(totalReturn)} House Edge${displayHE.toFixed(2)}% Expected Value per Bet${ev >= 0 ? "+" : ""}${fmtC(ev)} ${noteLine} `; resultEl.style.display = "block"; };
// Init visibility window.craUpdatePointField(); })();
#### Formulas Used
Probability of Winning: P(win) = Ways to Win ÷ (Ways to Win + Ways to Lose)
Gross Payout: Gross Payout = Wager × (Payout Numerator ÷ Payout Denominator)
Commission (Buy/Lay bets): Buy: Commission = Wager × Commission Rate (paid up front) Lay: Commission = Gross Win × Commission Rate (paid on win)
Net Win: Buy: Net Win = Gross Payout (commission already deducted from total return) Lay: Net Win = Gross Payout − Commission
Expected Value (EV): EV = (P(win) × Net Win) − (P(lose) × Wager at Risk)
House Edge (Buy, 5% commission): HE = Commission Rate ÷ (1 + Commission Rate) × 100 ≈ 0.05 ÷ 1.05 × 100 ≈ 4.76%
House Edge (Lay, 5% commission): HE = Commission Rate × P(win) × 100
True Odds: True Odds = Ways to Lose : Ways to Win (e.g., Place 6: 6 ways to lose vs 5 ways to win → true odds 6:5)
#### Assumptions & References
- References: Scarne's New Complete Guide to Gambling (1974); The Wizard of Odds (wizardofodds.com); Stanford Wong, Casino Craps for the Winner.
More Calculators
- Schwarzschild Radius Calculator
- Birth Chart Calculator
- Caregiver-to-Resident Ratio Calculator
- Mercury Retrograde Date Calculator
- Planet Position Calculator
- Orbital Period Calculator
- Certification Renewal Deadline Calculator
- Appliance Lifespan & Replacement Cost Calculator
- Auto Repair Cost Estimator
- Fuel Cost Calculator
- Windshield Replacement Cost Estimator
- Board Footage Calculator
Read Next
Study Time Planner Authority Network America › Life Services Authority › National Calculator Authority .calc-container { max-width: 640px;...