Updated . The three most valuable keepers on the board today are Bobby Witt Jr. (KC), Junior Caminero (TB), and Nick Kurtz (ATH).
These are the same player ranks as our dynasty rankings, read for keeper leagues. The board does not change between the two formats, because a player's long-term value does not change based on what your league calls itself. What changes is the price. In a keeper league you are not buying a player at market, you are paying a fixed cost to hold one, usually a draft round or an auction salary, and that cost is what turns a rank into a keep or a cut.
So keeper value is dynasty value adjusted for the price you pay to keep. Find your candidate on the board, work out where he would actually go in this year's draft, then compare that to what keeping him costs. A player ranked 60th who costs a 14th-round pick is an easy keep: you are getting a top-60 asset for a pick that normally buys a bench bat. The same player at a 3rd-round cost is not, because that pick could buy someone ranked near 30 instead. Run every candidate through that one comparison and most keeper decisions answer themselves.
How hard you lean on long-term value depends on how long you actually hold players. In a deep keep-forever league, read this board straight: age and years of team control are worth paying for. In a shallow format where you keep one to three players for a season or two, a 29-year-old in his peak years usually beats a 21-year-old who is two seasons away, because you will not own the 21-year-old when the value arrives. In those leagues, check your candidate against the consensus redraft rankings too and weight the near-term line ahead of the rank here.
The columns are built for the other comparison you keep making: a cheap keeper against a better player at full price. Every row carries the staff rank, where the expert consensus has the player, the high and low across sources, and the community FRV rating. A wide source range on a cheap keeper means you are buying a disagreement, which is usually where the surplus lives. A tight range on an expensive keeper means you are paying market for something nobody argues about. Filter by position to see how thin your league gets behind the player you are about to keep, and price both sides of any offer in the keeper trade calculator.
| Rank | Player | Team | Pos | Age | FRV | Sources | Range |
|---|---|---|---|---|---|---|---|
| 1 | Bobby Witt Jr. | KC | SS | 25 | 100.3 | 14 | 1-3 |
| 2 | Junior Caminero | TB | 3B | 25 | 84.4 | 14 | 3-9 |
| 3 | Nick Kurtz | ATH | 1B | 22 | 82.2 | 13 | 5-14 |
| 4 | James Wood | WAS | OF | 23 | 81.4 | 14 | 4-15 |
| 5 | Juan Soto | NYM | OF | 27 | 93.1 | 14 | 2-8 |
| 6 | Shohei Ohtani DH | LAD | DH | 31 | 93.6 | 14 | 1-2 |
| 7 | Elly De La Cruz | CIN | SS | 24 | 82.8 | 14 | 5-16 |
| 8 | Yordan Alvarez | HOU | OF | 28 | 80.6 | 14 | 8-18 |
| 9 | Pete Crow-Armstrong | CHC | OF | 24 | 78.0 | 14 | 10-24 |
| 10 | Julio Rodriguez | SEA | OF | 25 | 87.2 | 14 | 13-20 |
| 11 | Jacob Misiorowski | MIL | SP | 23 | 81.3 | 14 | 5-12 |
| 12 | Cristopher Sanchez | PHI | SP | 29 | 74.6 | 14 | 17-29 |
| 13 | Ben Rice | NYY | 1B/C | 26 | 77.1 | 14 | 20-29 |
| 14 | CJ Abrams | WAS | SS | 25 | 70.5 | 14 | 12-55 |
| 15 | Kevin McGonigle | DET | 3B/SS | 23 | 71.0 | 14 | 16-26 |
| 16 | Corbin Carroll | ARI | OF | 25 | 81.8 | 14 | 3-12 |
| 17 | Jackson Chourio | MIL | OF | 21 | 83.5 | 14 | 10-15 |
| 18 | Kyle Schwarber | PHI | OF | 32 | 71.5 | 14 | 23-54 |
| 19 | Tarik Skubal | LAD | SP | 29 | 83.5 | 14 | 9-17 |
| 20 | Oneil Cruz | PIT | OF | 27 | 63.2 | 13 | 33-60 |
| 21 | Aaron Judge | NYY | OF | 33 | 82.4 | 13 | 11-50 |
| 22 | Cam Schlittler | NYY | SP | 24 | 74.6 | 14 | 20-30 |
| 23 | Yoshinobu Yamamoto | LAD | SP | 27 | 75.2 | 14 | 13-37 |
| 24 | Paul Skenes | PIT | SP | 25 | 86.7 | 14 | 7-13 |
| 25 | Jose Ramirez | CLE | 3B | 33 | 76.3 | 14 | 17-41 |
| 26 | Vladimir Guerrero Jr. | TOR | 1B | 26 | 78.8 | 14 | 26-78 |
| 27 | Ronald Acuna Jr. | ATL | OF | 28 | 87.3 | 14 | 4-19 |
| 28 | Kyle Tucker | LAD | OF | 29 | 75.4 | 14 | 25-57 |
| 29 | Chase Burns | CIN | SP | 23 | 68.6 | 14 | 14-28 |
| 30 | Zach Neto | LAA | SS | 22 | 75.3 | 14 | 30-79 |
| 31 | Gunnar Henderson | BAL | SS | 24 | 82.1 | 14 | 16-55 |
| 32 | Jordan Walker | STL | OF | 23 | 52.0 | 14 | 22-63 |
| 33 | Ketel Marte | ARI | 2B | 32 | 72.0 | 14 | 27-78 |
| 34 | Logan Gilbert | SEA | SP | 28 | 72.1 | 14 | 37-55 |
| 35 | Riley Greene | DET | OF | 25 | 71.6 | 14 | 31-69 |
| 36 | Sal Stewart | CIN | 1B/3B | 22 | 65.7 | 14 | 31-49 |
| 37 | Matt Olson | ATL | 1B | 31 | 66.6 | 14 | 39-87 |
| 38 | Konnor Griffin | PIT | SS/OF | 19 | 79.5 | 8 | 11-31 |
| 39 | Andy Pages | LAD | OF | 25 | 68.7 | 14 | 34-72 |
| 40 | Nolan McLean | NYM | SP | 24 | 67.1 | 13 | 35-65 |
| 41 | Jesus Made (P) | MIL | SS/2B | 18 | 74.8 | 24 | 27-86 |
| 42 | JJ Wetherholt | STL | 2B/SS | 23 | 67.1 | 14 | 21-34 |
| 43 | Francisco Lindor | NYM | SS | 32 | 74.6 | 14 | 31-131 |
| 44 | Gavin Williams | CLE | SP | 26 | 60.0 | 13 | 43-109 |
| 45 | Roman Anthony | BOS | OF | 21 | 76.2 | 10 | 28-106 |
| 46 | Brice Turang | MIL | 2B | 26 | 69.8 | 14 | 26-70 |
| 47 | George Kirby | SEA | SP | 27 | 70.3 | 13 | 62-126 |
| 48 | Drew Rasmussen | TB | SP | 30 | 57.3 | 13 | 111-155 |
| 49 | Miguel Vargas | CWS | 1B/3B | 26 | 54.8 | 14 | 33-98 |
| 50 | Jackson Merrill | SD | OF | 24 | 70.1 | 14 | 48-196 |
| 51 | Fernando Tatis Jr. | SD | SS/OF | 27 | 79.6 | 14 | 19-38 |
| 52 | Wyatt Langford | TEX | OF | 24 | 77.0 | 13 | 25-45 |
| 53 | Pete Alonso | BAL | 1B | 31 | 69.5 | 14 | 36-83 |
| 54 | Hunter Brown | HOU | SP | 27 | 72.7 | 14 | 40-90 |
| 55 | Shea Langeliers | ATH | C | 28 | 68.7 | 10 | 30-85 |
| 56 | Michael Harris II | ATL | OF | 24 | 63.5 | 14 | 35-65 |
| 57 | Leodalis De Vries (P) | ATH | SS | 20 | 73.4 | 24 | 40-91 |
| 58 | Drake Baldwin | ATL | C | 24 | 65.3 | 14 | 28-51 |
| 59 | Otto Lopez | MIA | SS/2B | 27 | 51.0 | 14 | 86-134 |
| 60 | Bryce Harper | PHI | 1B | 33 | 69.8 | 14 | 37-96 |
| 61 | Dylan Cease | TOR | SP | 30 | 65.5 | 14 | 32-70 |
| 62 | Samuel Basallo | BAL | C/1B | 21 | 67.0 | 11 | 53-125 |
| 63 | Byron Buxton | MIN | OF | 32 | 61.1 | 14 | 43-107 |
| 64 | Walker Jenkins (P) | MIN | OF | 21 | 64.0 | 24 | 62-237 |
| 65 | Seiya Suzuki | CHC | OF | 31 | 62.2 | 14 | 94-182 |
| 66 | William Contreras | MIL | C | 28 | 68.6 | 14 | 66-104 |
| 67 | Travis Bazzana | CLE | 2B | 23 | 67.3 | 14 | 63-79 |
| 68 | Bryan Woo | SEA | SP | 25 | 72.9 | 13 | 22-49 |
| 69 | Eury Perez | MIA | SP | 23 | 67.8 | 13 | 39-121 |
| 70 | Joe Ryan | MIN | SP | 29 | 66.8 | 14 | 44-68 |
| 71 | Chris Sale | ATL | SP | 36 | 64.0 | 13 | 59-121 |
| 72 | Mason Miller | SD | RP | 27 | 65.1 | 14 | 34-72 |
| 73 | Bryce Eldridge | SF | 1B | 21 | 61.0 | 12 | 56-131 |
| 74 | Chase DeLauter | CLE | OF | 24 | 57.9 | 12 | 62-153 |
| 75 | Randy Arozarena | SEA | OF | 30 | 52.1 | 14 | 54-185 |
| 76 | Max Fried | NYY | SP | 32 | 63.7 | 13 | 61-91 |
| 77 | Garrett Crochet | BOS | SP | 26 | 75.4 | 10 | 20-118 |
| 78 | Hunter Goodman | COL | C | 26 | 62.6 | 14 | 58-127 |
| 79 | Sebastian Walcott (P) | TEX | SS/3B | 19 | 70.4 | 24 | 80-161 |
| 80 | Jeremy Pena | HOU | SS | 28 | 56.7 | 14 | 68-203 |
| 81 | Jazz Chisholm Jr. | NYY | 2B/3B | 27 | 67.2 | 14 | 35-76 |
| 82 | Payton Tolle | BOS | SP | 23 | 55.8 | 13 | 48-146 |
| 83 | Manny Machado | SD | 3B | 33 | 69.5 | 14 | 104-273 |
| 84 | Munetaka Murakami | CWS | 1B/3B | 25 | 61.1 | 14 | 47-92 |
| 85 | Rafael Devers | SF | 1B | 29 | 69.8 | 14 | 78-99 |
| 86 | Kyle Stowers | MIA | OF | 28 | 58.2 | 13 | 161-193 |
| 87 | Jacob deGrom | TEX | SP | 37 | 54.0 | 13 | 77-225 |
| 88 | Zack Wheeler | PHI | SP | 35 | 55.0 | 14 | 76-187 |
| 89 | Kyle Harrison | MIL | SP | 24 | 53.5 | 13 | 71-170 |
| 90 | Jesus Luzardo | PHI | SP | 28 | 60.3 | 13 | 54-91 |
| 91 | Logan Webb | SF | SP | 29 | 67.4 | 14 | 69-91 |
| 92 | Trea Turner | PHI | SS | 32 | 65.7 | 14 | 75-233 |
| 93 | Gerrit Cole | NYY | SP | 35 | 55.5 | 13 | 78-233 |
| 94 | Kade Anderson (P) | SEA | SP | 21 | 55.5 | 26 | 38-68 |
| 95 | Freddie Freeman | LAD | 1B | 36 | 62.2 | 13 | 74-157 |
| 96 | Cal Raleigh | SEA | C | 29 | 72.2 | 14 | 51-231 |
| 97 | Nico Hoerner | CHC | SS/2B | 28 | 58.8 | 12 | 129-220 |
| 98 | Josue De Paula (P) | LAD | OF | 20 | 68.0 | 24 | 51-140 |
| 99 | Shota Imanaga | CHC | SP | 32 | 55.3 | 13 | 115-236 |
| 100 | Cade Smith | CLE | RP | 26 | 58.8 | 14 | 61-175 |
Most keeper leagues are won in the weeks before the keeper deadline, when the managers who are out start selling. Run any offer through the fantasy baseball keeper trade analyzer: it prices both sides off this same board, names the winner, and shows how much of a margin the verdict really has. Then apply keeper cost to each side, because a player at a cheap keeper price is worth more to you than his rank alone, and a player you would cut rather than pay is worth very little. Every player's number is listed on the trade value chart.
Keep every player whose rank clearly beats what the keeper slot costs you, and stop there. The number of slots your league allows is a ceiling, not a target. If only two of your four keeper spots return real surplus, use two and take the other picks at market. Auction keeper leagues run the same rule on dollars: keep the players whose salary sits under what they would cost you in the draft, and put the rest back in the pool.
The player ranks are identical. FanRanked publishes one hand-built board, so a player sits in the same spot whether you are reading it for a dynasty league or a keeper league. The difference is the question you ask of it. Dynasty asks who is worth more over the next five years. Keeper asks whether that rank is worth the round or the salary it costs to hold the player, and in shallower formats it asks how much of the long-term value you will still own when it shows up.
Only if your league keeps players long enough for the prospect to arrive and produce. Prospects are ranked inline on this board on the same value scale as established big leaguers, so you can see exactly which veterans a prospect is worth. In a keep-forever league that trade is often the right one. In a league that keeps three players for two years, a prospect who debuts next August will spend your entire keeper window in Triple-A.
Whenever your keeper window is shorter than the dynasty asset's timeline. Keep one to three players for a year or two and the win-now bat in his prime is worth more than the 21-year-old with the higher long-term rank, because your league will hand the young player back to the draft pool before he pays off. The deeper and longer your keeper rules run, the more the board's rank order should drive the decision on its own.
Price both sides on the same board, then adjust for keeper cost. The FanRanked trade calculator handles the first part: add the players on each side and it returns a winner, a fairness margin, and how confident that verdict is. Then apply the price. A player you would happily keep at a 12th-round cost is worth more to you than his rank alone says, and a player you would cut rather than pay is worth close to nothing no matter where he ranks.
The board is updated regularly through the year as roles change, players are traded, and prospects graduate, and every published update is logged in the change history on the staff dynasty board. Check it again in the week before your keeper deadline instead of trusting a list you saved in March.
Each position page slices this same board, so a keeper's positional rank always matches where he sits overall: