The value of any piece is dynamic and depends on many factors in the position.

Engines can evaluate the position as a whole with great precision.

They are also capable of "understanding" that two minor pieces have different values and thus refuse to trade them, or even view a minor piece as superior to a rook.

But is there any chess engine that can assign a value to a piece?

I have found that Stockfish attempts to deliver this value, but it is based on removing the piece from the board and comparing the position. However this approach seems rather drastic and I doubt the accuracy of evaluations based on it (I may be totally wrong and it is the best there currently is).

  • 2
    Piece removal is indeed a nice solution. Could you present a detailed description of what you really want?
    – ferdy
    Commented Jan 1 at 6:39
  • 2
    With piece removal there is a problem of "inheritance": A pawn may be worth the same as a queen, because it guards the queen. But no player would say: Yes, this pawn is a tremendous piece. Of course in a sense it holds this worth, but not in itself, it is "inherited". I think to give you a precise notion of "piece quality" I will need a lot of time. I will try to come up with an approximate definition.
    – B.Swan
    Commented Jan 1 at 11:03
  • Have you tried at this hxim.github.io/Stockfish-Evaluation-Guide?
    – ferdy
    Commented Jan 2 at 4:33

1 Answer 1


Engines can evaluate the position as a whole with great precision.

This is not the case; the only thing an engine evaluates is that engine's evaluation function. Imagine a chess engine FishStock, whose evaluation is always that of StockFish cubed - e.g., if SF evaluates a position as -3, then FS's evaluation will be -27. These two engines will have the same playing strength, as they will have the same top move in any given position. Hence, there's no reason whatsoever to say that one evaluation function is "better" or "more precise" than the other.

What matters is a ranking of all chess positions/moves (from "best" to "worst") induced by engine evaluation function, and how well it approximates the ranking based on the mathematical values "win for white in N moves", "draw", or "win for black in M moves".

The only reason we are talking about the values of individual pieces is that linear evaluation functions, like 1xWP+3xWN+...+9xWQ-1xBP-...-9xBQ, are the simplest for our brain (and the computer) to handle. So, the "value of a piece" is merely an artifact of our way of thinking about the position. As soon as your thinking is more sophisticated than just a linear function, the notion of a value of a piece loses its meaning.

Note that mathematically, removing a piece usually just turns a drawn position to a losing one. You may calculate a drop in the evaluation function by a given engine, but as explained above, that's an arbitrary number that only has to do with the design of that particular engine rather than anything objective about the position.

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.