In an effort to classify chess games, I thought it would be useful to identify a set of positions by their unique pawn structure that would form a family of positions. There are indeed many positions but my rough calculations indicate 10^12 to be a upper limit of all possible combinations (I may be very wrong as I don't trust my calculations). But interestingly, it is way lower than the number of sensible position,s i.e. ~10^46. I am very interested to know the actual number of pawn structures (mwithout promotion). I guess actual number of legal positions would be difficult to estimate but a general idea might be good.

  • 4
    That's an interesting question on its own but I don't think it would be a useful step towards classifying chess games. Most of those theoretically achievable pawn structures will not appear even once!
    – David
    Commented Jul 12, 2020 at 21:57
  • 1
    I got a generous upper bound of 3*10^11 positions (for one color) by just counting how many squares each pawn could possibly be on. A generous lower bound of 9*10^8 is easy to get by considering a few simple, definitely-achievable scenarios.
    – Edward
    Commented Apr 28, 2021 at 3:21

4 Answers 4


To classify pawn formations, a good source is chess master books that explore that topic. The book by Boris Persits comes to mind, for example.

I add that it seems impractical as you have been told, to make an exhaustive index of all the combinations that pawn chains can take.

However, it is useful to connect families of openings (classified by ECO, or by open / closed / flank, positional or tactical) and also by the types of endings that can be found according to the pawn structure.

This information has didactic utility for chess plans. There are books that touch on the subject of pawn structures and chess plans.

The pawn chain structures could be described with the characteristics: doubled or solitary / past / advanced / delayed / blocked pawns, V chain or inverted V chain, castling with / without fiancheto and other descriptors that I cannot imagine.

In this way, the number of pawn formations is much less than combinatorial theory can estimate.

  • "However, if there could be a future, for example, connecting families of openings classified by some criteria or types of endings, with pawn structures described with the categories already proven in the literature of those masters" kindly simplify this. good answer btw Commented Jul 17, 2020 at 9:46
  • - Make your own descriptors or categories of pawn chains. - Search how many games have that characteristic. Probably CQL can help you with this search (look in the web or in Scid vs PC). - Now you have games with ECO codes that can help you connect pawns configurations with a subset of openings. - With pgn-extract, you can look at an position evaluation after each move, which takes in account material and movility. Or makes material searches with Scid vs PC to get a number for each configuration.
    – djnavas
    Commented Jul 18, 2020 at 9:20

I've wondered the same thing, and agree with you that there could be some value in classifying board states this way.

Combined with a roster of the remaining pieces on the board (regardless of their positions) the pawn structure specifies a unique board state that, once transitioned out of, can never be reached again in the same game. They form a partial ordering, with no cycles. Every other legal combination of positions for the other pieces can be cycled in and out of any number of times and can always be reached again -- until a piece is captured or a pawn moves (or both.) Those are the only truly irreversible moves in chess.

I think one way to approach determining the number of possible pawn structures is to consider a chess variant I call "pacifist chess" (though it's different from the chess variant of the same name on some chess variant sites I've seen.) No captures are allowed, but otherwise all the rules are the same (including rules about check.) The way the game plays out is that eventually the pawns form a sort of impenetrable wall, or sometimes a wall with one or more "holes" in it. Sometimes, pieces can be trapped inside the pawn wall. Once that happens, the pawn structure of the board cannot change any further. Since pawns can only move forward in pacifist chess, it's easy to generate every possible "earlier" pawn structure that could have led to a given final pawn structure.

Next, consider versions of the game where play proceeds normally for some time, some pieces are captured (and perhaps some pawns moved diagonally one or more columns) and THEN the game switches to pacifist rules. Again, you can (based on the remaining pieces and positions of the now-pacifist pawns) determine the possible final pawn structures and generate the full set of preceding ones. Repeat that for every combination of captures that impact pawn structure (or just shuffle through the roster of other pieces) and you've enumerated every possible pawn structure.

I haven't actually worked all of this out yet, but I think that general approach might be dealing with numbers of a reasonable enough size that computer simulations could work out the rest.


49,095,495,585,283,107* possible pawn structures or 4.9 * 10^16

*without considering queening or other rules

To calculate an upper bound of the possible pawn structure we need to know the following:

  • There are only 48 spots a pawn can be at.
  • There are 3 states in each spot -> has white piece, has black piece, empty
  • The maximum number of black pawns is 8
  • The maximum number of white pawns is 8

from math import comb

def calculate_all_pawn_structure_combinations():
    combinations_by_total_pieces = {}

    # Iterate over the total number of pieces from 0 to 16
    for total_pieces in range(17):  # 0 to 16 inclusive
        total_combinations_for_this_total = 0

        # Iterate over possible counts of white pieces
        for w in range(min(8, total_pieces) + 1):
            b = total_pieces - w

            if w <= 8 and b <= 8:
                print(f"Total pieces {total_pieces}, white:{w}, black:{b}")
                white_combinations = comb(48, w)
                # Calculate combinations for b black pieces in remaining spots
                black_combinations = comb(48 - w, b)

                # Accumulate the combinations for this specific total of pieces

                total_combinations_for_this_total += white_combinations * black_combinations

        # Store the combinations count for this total number of pieces
        combinations_by_total_pieces[total_pieces] = total_combinations_for_this_total
    return combinations_by_total_pieces


For unique pawn structures I would not recommend going by any formula where you will have 10 to the power of n or any indices calculation. The best way to understand pawn structures is to know multiple openings in. There are more than 2000+ opening variations where the middlegame differs in many aspects along with the piece placement. It is always good to understand the patterns of the pawn structures by playing the openings and learning the middlegame.

This way, you can prepare some of the openings and understand the pawn structures which suit your style. This way, GMs prepare themselves. No one has a direct number of exactly how many pawn structures there are. Not even Kasparov or Carlsen might be interested in that unless you are able to show the perfect differences between each kind of pawn structure.

  • 2
    well I was asking from a mathematical point of view. nothing to do with GMs ,etc Commented Jul 17, 2020 at 17:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.