What Are the Odds of a Royal Flush? Poker Hand Probabilities, Tables, and Examples
If you can count, you can learn to think like a poker player. Poker looks like luck in the short run, but under every decision there is combinatorics, probability, and expected value (EV). In this guide you’ll compute the odds for every classic 5-card hand (pair, two pair, trips, straight, flush, full house, quads, straight flush, royal flush), understand how to translate counts into probabilities and “1 in X” odds, and use small Python snippets to verify results and run quick simulations. The goal is not to promise winnings—it’s to help you reason clearly about uncertainty at the table.
Educational note: This content is for learning statistics and decision-making. It does not guarantee profits or encourage gambling.
What You’ll Learn
- How the 52-card deck maps to combination counts.
- Exact 5-card probabilities and “1 in X” odds for each hand rank.
- Step-by-step derivations (e.g., one pair, flush, full house) with KaTeX.
- How to compare pot odds vs drawing odds with EV.
- Quick Python snippets to verify counts and run tiny simulations.
1) The Deck, Combinations, and the Language of Probability
A standard deck has 52 cards: 13 ranks (A,2,…,K) × 4 suits (♠♥♦♣). In 5-card poker we treat hands as combinations without order. The denominator for all exact probabilities is:
\text{Total 5-card hands}=\binom{52}{5}=\frac{52!}{5!,47!}=2{,}598{,}960All exact 5-card probabilities below divide the appropriate hand count by \binom{52}{5}.
2) Exact Odds of 5-Card Poker Hands (Counts, Probabilities, “1 in X”)
Below is the standard table of mutually exclusive hand counts and probabilities. “Odds (1 in …)” is just \dfrac{1}{p}, rounded.
| Hand Type | Combinational Count | Probability | Odds (1 in …) |
|---|---|---|---|
| Royal Flush | 4 | 0.000154% | 649,740 |
| Straight Flush (ex-Royal) | 36 | 0.001385% | 72,193 |
| Four of a Kind | 624 | 0.0240% | 4,165 |
| Full House | 3,744 | 0.1441% | 694 |
| Flush (ex-straight flush) | 5,108 | 0.1965% | 509 |
| Straight (ex-straight flush) | 10,200 | 0.3925% | 255 |
| Three of a Kind | 54,912 | 2.1128% | 47 |
| Two Pair | 123,552 | 4.7539% | 21 |
| One Pair | 1,098,240 | 42.2569% | 2.37 |
| High Card (no straight/flush) | 1,302,540 | 50.1177% | 2.0 |
Quick takeaways
• A royal flush is 4 out of 2,598,960 possible 5-card hands—about 1 in 649,740.
• More than 92% of all 5-card hands are “one pair” or worse; about half are just high card.
Worked Derivations (selected)
Royal Flush
You need A-K-Q-J-10 all in the same suit. There are 4 suits, so:
N_{\text{royal}}=4 \quad\Rightarrow\quad P(\text{royal})=\frac{4}{\binom{52}{5}}\approx 1.539\times 10^{-6} ,(0.000154%)Straight Flush (excluding royal)
There are 10 rank-runs per suit (A-5 up to 10-A), minus the royal itself; across 4 suits:
N_{\text{sf (ex-royal)}}=10\cdot 4 - 4 = 36
One Pair
Choose the pair’s rank; choose its 2 suits; choose 3 distinct side ranks; choose 1 suit for each side rank:
N_{\text{one pair}}=\binom{13}{1}\binom{4}{2}\binom{12}{3}4^{3}=1{,}098{,}240 P(\text{one pair})=\frac{1{,}098{,}240}{\binom{52}{5}}\approx 0.422569 ; (42.2569%)Full House
Pick a rank for trips and a different rank for the pair; pick suits accordingly:
N_{\text{full}}=\binom{13}{1}\binom{4}{3}\binom{12}{1}\binom{4}{2}=3{,}744Flush (excluding straight flush)
Pick a suit (4 ways), then choose any 5 of its 13 cards (no order), subtract straight-flushes in that suit:
N_{\text{flush ex-sf}}=4\binom{13}{5}-40=5{,}108(There are 10 straight sequences × 4 suits = 40 straight flushes total; 4 of those are royals.)
3) From Counting to Decisions: Pot Odds and EV
If an action yields outcomes x_i with probabilities p_i, the expected value is
\mathrm{EV}=\sum_i p_i x_i
A call is profitable when \mathrm{EV}>0. A quick break-even test compares your win probability to pot odds:
- Pot odds (ratio) = \dfrac{\text{amount to call}}{\text{pot after calling}}
- Break-even win probability p^*:
p^*=\frac{\text{amount to call}}{\text{amount to call}+\text{pot}}
Example. Pot = $90; villain bets $10; you call $10 → pot after calling = $110.
p^*=\frac{10}{110}\approx 9.09%
If your chance to improve (and still win) exceeds 9.09%, calling has positive chip EV (ignoring future streets).
4) Outs and Approximation Rules (Rule of 4 and 2)
An out is an unseen card that improves you to a likely winner.
- One card to come (river): P(\text{hit})\approx \frac{k}{46}\approx 2k%
- Two cards to come (turn+river): P(\text{hit})\approx 4k%
Typical outs:
- Open-ended straight draw: k=8 → ~32% by river
- Flush draw after flop: k=9 → ~36% by river
- Two overcards (pair one of them by river, rough): k\approx 6 → ~24%
Exact flush by river after a 4-flush on the flop (two to come).
Miss both streets: \frac{39}{47}\cdot\frac{38}{46}\approx 0.676
So hit by river: 1-0.676=0.324 ; (32.4%) — nicely aligned with the Rule of 4 (9 outs → ~36%).
5) Python: Verify Counts, Print the Odds Table, and Simulate
5.1 Count & Print Standard Probabilities
import math
def nCk(n, k): return math.comb(n, k)
total = nCk(52, 5)
counts = {
"royal_flush": 4,
"straight_flush_ex_royal": 36,
"four_of_a_kind": 624,
"full_house": 3744,
"flush_ex_straight_flush": 5108,
"straight_ex_straight_flush": 10200,
"three_of_a_kind": 54912,
"two_pair": 123552,
"one_pair": 1098240,
"high_card": 1302540,
}
for hand, c in counts.items():
p = c / total
print(hand, c, f"{100*p:.6f}% (1 in {round(1/p):,})")
5.2 Pot-Odds & EV Helpers (rule of 4/2 baked in)
def break_even_prob_to_call(to_call, pot_before_call):
pot_after_call = pot_before_call + to_call
return to_call / pot_after_call
def approx_hit_prob(outs, cards_to_come=2):
if cards_to_come == 2: return min(1.0, outs * 4 / 100)
if cards_to_come == 1: return min(1.0, outs * 2 / 100)
raise ValueError("cards_to_come must be 1 or 2")
def call_chip_ev(to_call, pot_before_call, win_prob):
pot_after_call = pot_before_call + to_call
return win_prob * pot_after_call - (1 - win_prob) * to_call
# Example: flush draw after flop (9 outs), pot $90, need to call $10
to_call, pot = 10, 90
p_be = break_even_prob_to_call(to_call, pot)
p_est = approx_hit_prob(outs=9, cards_to_come=2)
ev = call_chip_ev(to_call, pot, p_est)
print("Break-even:", round(100*p_be, 2), "% | Est. win prob:", round(100*p_est, 2), "% | EV:", round(ev, 2))
5.3 Tiny Monte Carlo (Heads-Up, very simplified)
This rough simulation evaluates your hole cards vs. a random hand, dealing 5 community cards and comparing best 5.
import random from collections import Counter from itertools import combinations ranks = "23456789TJQKA"; suits = "CDHS" deck = [r+s for r in ranks for s in suits] def hand_rank_5(cards5): rs = [c[0] for c in cards5]; ss = [c[1] for c in cards5] is_flush = len(set(ss)) == 1 vals = sorted([ranks.index(r) for r in rs]) is_straight = all(vals[i]+1 == vals[i+1] for i in range(4)) or vals == [0,1,2,3,12] cnt = Counter(rs).most_common() pattern = sorted([c for _, c in cnt], reverse=True) if is_straight and is_flush: cat = 8 elif pattern == [4,1]: cat = 7 elif pattern == [3,2]: cat = 6 elif is_flush: cat = 5 elif is_straight: cat = 4 elif pattern == [3,1,1]: cat = 3 elif pattern == [2,2,1]: cat = 2 elif pattern == [2,1,1,1]: cat = 1 else: cat = 0 order = [] for r,c in sorted(cnt, key=lambda x:(x[1], ranks.index(x[0])), reverse=True): order += [r]*c key = tuple(sorted([ranks.index(r) for r in order], reverse=True)) return (cat, key) def best_5_from_7(cards7): best = None for comb in combinations(cards7, 5): rank = hand_rank_5(comb) if best is None or rank > best: best = rank return best def simulate_heads_up(hole_hero, iters=5000): wins = ties = 0 for _ in range(iters): d = deck.copy() for c in hole_hero: d.remove(c) random.shuffle(d) villain = d[:2]; board = d[2:7] hero_best = best_5_from_7(hole_hero + board) vill_best = best_5_from_7(villain + board) if hero_best > vill_best: wins += 1 elif hero_best == vill_best: ties += 1 return (wins + 0.5*ties) / iters # Example: AK suited print("AKs win rate (est.):", round(100*simulate_heads_up(["A S".replace(" ",""), "K S".replace(" ","")], iters=8000), 2), "%")
6) From Counting to Strategy: Study the Margins
The table gives exact 5-card odds. Real Hold’em decisions are conditional: the flop, turn, and river reveal information that changes your space of outcomes. Use the Rule of 4 and 2 for fast approximations and sanity-check with EV. When in doubt, simulate.
7) Study Tips / Practical Checklist
- Memorize the 5-card table; know which hands are truly rare.
- Drill outs and the Rule of 4/2 until instant.
- Always compare win probability to break-even p^*.
- Log hands you found close—recompute later with exact math.
- Use small Monte Carlo experiments to calibrate intuition.
Conclusion
Combinatorics tells you how rare each 5-card hand is. Conditional probability and approximations (outs, Rule of 4/2) make quick decisions possible. EV and pot odds translate beliefs into actions, and tiny simulations validate your reasoning. You won’t remove uncertainty, but you’ll replace guesswork with structure and discipline.

