Deck

Community Cards

Dead Cards

Hole Cards

Help

Javascript and GUI

If you have Javascript disabled or cannot use the graphical user interface of this probability calculator for some other reason you need the lite version.

Selecting cards

Card selection is through mouse-click or hot-keys. To select hole cards press the hole card button and select the cards. To select community cards press the community card button and select the cards. Each time an additional pair of hole cards is selected or on selection of the third, fourth and fifth community cards the probability display is updated. Close

Hot-keys

Hot-keys allow direct keyboard access to various parts of the user interface. Card selection is done by pressing two keys simultaneously. "2H" (two of hearts), "QD" (queen of diamonds), "KC" (king of clubs), "TS" (ten of spades), etc. Note that "10" is represented by "T", all other numbers are represented numerically. Toggle between hole card and community card selection with "Alt + K". Reset the deck with "Alt + R". Close

About

This calculator works out the probability of outcomes for the hands of between 2 and 10 poker players at any point between the deal and the river. Probability figures are based on the hands being played to showdown.

Before the flop

A simulation of the game is performed ten thousand times with randomly selected community cards returning the average result. This is done as a trade off between speed and accuracy, the result deviating from true probability by less than one percent, while the speed of the evaluation permits a near instantaneous user interface.

After the flop

A brute force search is performed on all possible hand combinations returning a 100% accurate result.

Algorithm

The backbone of the application is a small and efficient seven card evaluator written in PHP and that has recently been updated[2007-09-21] for extra speed. There are a few small look-up tables and the meat of the algorithm is now just 5 very simple lines of code that do some basic arithmetic and look-ups. Unlike many other evaluators the RAM footprint, at just 4.3 megabytes, is extremely small. There is also a Python port[2020-06-06] of the PHP code. Close

Get involved

If you are interested in the algorithm and would like to know more don't hesitate to contact me. I am especially interested in hearing from anyone that might be interested in porting the evaluator and simulation function to C/C++ for use from the command line or as a PHP extension. Close