HomeGames & Betting Math › Odds Converter

Odds Converter

Converts betting odds between American (moneyline), decimal (European) and fractional (UK) formats, auto-detecting the input format, and reports the implied probability, profit and total return for a stake.

When to use

You have odds in one format and need the other two, the implied probability of a price, or the payout of a stake at those odds.

Do not use when: You need the combined price of several selections (use parlay-odds), the value of a bet given your own probability estimate (use bet-expected-value), or a bookmaker's margin across a whole market (use arbitrage-bet). Mathematics only; not gambling advice.

Formula

decimal = 1 + american/100 (american > 0) or 1 + 100/|american| (american < 0); decimal = 1 + a/b (fractional a/b); american = +100·(decimal − 1) if decimal ≥ 2, else −100/(decimal − 1); fractional = (decimal − 1) reduced with the GCD; implied_probability_percent = 100/decimal; total_return = stake × decimal

Odds of ±100 are evens (2.00, 1/1). The fractional output is the exact reduced fraction of decimal − 1; when a decimal price is a rounded traditional fraction (1.91 for 10/11) the nearest fraction with denominator ≤ 20 within ±0.005 is reported in the notes. Probability mathematics only; not gambling advice.

Inputs

ParameterTypeUnitRequiredDescription
oddsstringyesOdds in any format: American +150 or -200, decimal 2.50, fractional 3/2 or 3-2, or evens.
formatenum: auto | american | decimal | fractionaldefault autoFormat of the odds input. Auto: a/b or a-b with digits on both sides is fractional, a sign or an integer of 100 or more is American, anything else is decimal.
stakenumberdefault 100Stake used for the profit and return outputs (any currency). Range: > 0, ≤ 1000000000

Outputs

OutputTypeUnitDescription
americanstringMoneyline price with sign, rounded to a whole number: +X wins X per 100 staked, -X needs X staked to win 100.
decimalnumberTotal return per unit staked, including the stake.
fractionalstringProfit/stake as a fraction reduced with the GCD, exactly equal to decimal − 1.
implied_probability_percentnumber%100 / decimal: the break-even win probability the price implies (includes the bookmaker margin).
profit_on_stakenumberstake × (decimal − 1).
total_returnnumberstake × decimal (profit plus the returned stake).
detected_formatstringFormat the input was parsed as (american, decimal or fractional).

Example

+150 American, stake 100: {"odds":"+150"}{"american":"+150","decimal":2.5,"fractional":"3/2","implied_probability_percent":40,"profit_on_stake":150,"total_return":250}

-200 American: {"odds":"-200","format":"auto","stake":100}{"american":"-200","decimal":1.5,"fractional":"1/2","implied_probability_percent":66.67,"profit_on_stake":50,"total_return":150}

GET https://tttkmbb.com/api/v1/calculate/odds-converter?odds=%2B150

Machine access

Sources

FAQ

How is the format detected automatically?

Digits on both sides of a slash or dash (3/2, 3-2) mean fractional; a leading + or − sign, or a whole number of 100 or more (150), means American; anything else (2.50, 1.91) is decimal. Set format explicitly if an input is ambiguous.

Why does 1.91 give 91/100 and not 10/11?

The fractional output is the exact reduced value of decimal − 1. Bookmakers display 10/11 rounded to 1.91; the closest such traditional fraction (denominator ≤ 20, within ±0.005) is listed in the notes when it differs.

Why do implied probabilities of a market add up to more than 100 %?

Each price includes the bookmaker margin (overround). Dividing each implied probability by their sum removes it; arbitrage-bet reports the sum for a whole market.

Related calculators