49ERS
NFC West
· 6 / 11
#22 overall
Seed 11
L2 streak
Team OVR 88
📊 57.0% pass / 43.0% run
5-9
RECORD
OFFENSE · LEAGUE RANKS
#22
TOTAL YDS
#25
PASSING
#11
RUSHING
#30
POINTS FOR
DEFENSE · LEAGUE RANKS
#20
TOTAL YDS
#22
VS PASS
#8
VS RUN
#15
POINTS ALLOWED
SEASON
Lions
Jaguars
Packers
Bengals
Browns
Ravens
Cardinals
Seahawks
Bears
Panthers
Rams
Steelers
Rams
Cardinals
Cowboys
Seahawks
Vikings
WK 1 · @
Lions
L 10–17
WK 2 · vs
Jaguars
L 28–38
WK 3 · vs
Packers
W 30–25
WK 4 · @
Bengals
W 25–23
WK 5 · vs
Browns
W 27–17
WK 6 · @
Ravens
L 6–49
WK 7 · vs
Cardinals
L 22–30
WK 8 · @
Seahawks
L 7–49
WK 9 · vs
Bears
L 21–33
WK 10 · vs
Panthers
W 33–14
WK 11 · @
Rams
L 27–30
WK 12 · vs
Steelers
W 28–23
WK 13 · vs
Rams
L 15–20
WK 15 · @
Cardinals
L 13–24
WK 16 · @
Cowboys
—
WK 17 · vs
Seahawks
—
WK 18 · @
Vikings
—
TOP PERFORMERS
TEAM BUILD TRACKER
since Sep 08 · 28 checkpoints
88
TEAM OVR
+3 📈
| GROUP | NOW | Δ ERA | VS LEAGUE |
|---|---|---|---|
| QB | 85.5 | +4.5 | +3.8 |
| RB | 84.7 | -2.6 | +1.8 |
| WR | 84.2 | +2.2 | -0.6 |
| TE | 76.0 | -11.5 | -4.8 |
| OL | 78.5 | -1.8 | -3.5 |
| DL | 86.4 | +5 | +1.2 |
| LB | 85.5 | +3.7 | +5.1 |
| DB | 83.8 | +6.5 | -1.1 |
| ST | 78.0 | +1 | -1.1 |
Δ ERA = change since the tracker started. VS LEAGUE = your group vs the league average — red is where the roster lacks talent.
FROM THE LOCKER ROOM
The booth on Rams beat 49ers, 20-15
Elise Carter: "San Francisco's offensive line gave up 7 sacks—that's a line that was beaten, and it showed in everything they tried to do. The Rams didn't need much to win this one, and they didn't have to; they just had to keep the heat on, and Los Angeles did exactly that."
Nicole Santos: "San Francisco's offensive line has been a problem all season—they're built to run, they can't pass protect, and today that caught up with them. 7 sacks is noise; a 5-point loss to a team that's actually better, on a neutral schedule, is not."
💬 0 comments
Rams beat 49ers, 20-15
Justin Fields completed 21 of 31 for 218 yards and a touchdown, but the number that stuck was Luke Wysong's 101 receiving yards on 6 catches—one of those rare performances where a receiver posts a full century on a single afternoon. The Rams won 20-15 by dominating the line of scrimmage, dropping San Francisco's quarterback 7 times while allowing just 1 sack in return. Los Angeles moved the ball 353 total yards to the 49ers' 275, a gap that mattered when every point counted in a 35-point combined total that felt like watching football through a narrower window than usual.
💬 0 comments
49ers beat Steelers, 28-23
49ers got it done 28-23 over Steelers. Drew Allar was steady for Steelers — 19/33, 229 yards, 2 TD, 1 INT — in a losing effort. Germie Bernard moved the ball for Steelers — 3 catches, 112 yards, 1 TD. Three weeks of this now from Christian McCaffrey: 90 rushing yards a game, well clear of his 66 average. Through the air: Steelers 229, 49ers 181.
💬 0 comments
The booth on 49ers beat Packers, 30-25
Luca Santana: "San Francisco won this on the ground, plain and simple — the Niners ran for 257 yards while Green Bay managed 73, and that gap in the trenches is what separated two teams that both moved the ball through the air and neither team beat itself."
Talia Morgan: "San Francisco bent its entire game plan around what it does best and Green Bay couldn't stop it — the Niners ran 45 times to GB's 14, which is not a gap you close by throwing for 274 yards. Love had his best day of the season and it didn't matter."
Jordan Hayes: "Green Bay's real problem isn't that Love had his best day—it's that the Pack threw 31 times while running 14, and that imbalance meant San Francisco dictated every line of scrimmage. They need to establish the run or they won't win close games."
💬 0 comments
49ers beat Packers, 30-25
30-25 to 49ers, and it went about how it looked. Jordan Love was steady for Packers — 20/31, 274 yards, 2 TD — in a losing effort. Brock Purdy threw for 49ers — 17/29, 226 yards, 2 TD, 1 INT. Christian McCaffrey's high-water mark for the year. On the ground: 49ers 257, Packers 73.
💬 0 comments
49ers beat Panthers, 33-14
49ers got it done 33-14 over Panthers. Bryce Young did the damage for Panthers — 15/26, 294 yards, 2 TD — in a losing effort. Tyreek Hill did the catching for Panthers — 5 catches, 187 yards, 2 TD. Make it 5 consecutive games past 250 for Bryce Young. On the ground: 49ers 203, Panthers 43.
💬 0 comments
Bears beat 49ers, 33-21
Bears got it done 33-21 over 49ers. Caleb Williams was steady for Bears — 30/43, 305 yards, 3 TD. Luther Burden III was the target for Bears — 8 catches, 100 yards, 1 TD. Christian McCaffrey is still searching for it — 39 rushing yards a game across his last three, against an average of 59. Total yards: Bears 416, 49ers 214.
💬 0 comments
49ers win the turnover battle and the game
49ers won the turnover battle, and the turnover battle won the game. Brock Purdy threw for 49ers — 20/32, 345 yards, 3 TD. Ryan Wingo did the catching for 49ers — 3 catches, 151 yards, 2 TD. Ryan Wingo has not had a better afternoon this season. Through the air: 49ers 345, Browns 172.
💬 0 comments
RECENT MOVES
League-wide transactions →
DEPTH CHART
projected by overall — starter first, then the room behind him
OFFENSE
DEFENSE
THE CAP ROOM
53 contracts on the books
$48.7M comes off the books at the end of this season — 20 contracts, 17% of what you are carrying.
WHAT IS EATING THE ROOM
largest cap hits, with what is left on each
| PLAYER | POS | OVR | AGE | YRS LEFT | CAP HIT | PER OVR PT |
|---|---|---|---|---|---|---|
| Nick Bosa | LEDG | 97 | 29 | 2 | $54.9M | $565,464 |
| Brock Purdy | QB | 92 | 27 | 4 | $30.1M | $327,283 |
| Christian McCaffrey | HB | 95 | 31 | 2 | $26.4M | $277,895 |
| Fred Warner | MIKE | 99 | 30 | 3 | $24.4M | $246,970 |
| Deommodore Lenoir | CB | 86 | 27 | 3 | $17.7M | $205,930 |
| Colton McKivitz | RT | 83 | 31 | 2 | $8.8M | $105,904 |
| Mac Jones | QB | 79 | 28 | 4 | $8.5M | $107,722 |
| KeAndre Lambert-Smith | WR | 77 | 25 | 1 | $8.3M | $107,273 |
Per OVR point is a division, not a verdict — a cap hit over an overall rating, nothing more. Whether a number is a problem depends on the position and the player, and that is your call rather than the site's.
There is no "cut him and save this much" here on purpose: a release in Madden carries dead money, and the export does not carry the figure — so that saving is not something this site can work out, and guessing at it would be guessing at the one number that decides whether the advice is any good.
ROSTER
53 on the active roster · 12 practice squad
OFFENSE
| PLAYER | POS | OVR | DEV | AGE | YRS LEFT | CAP HIT |
|---|---|---|---|---|---|---|
| Brock Purdy | QB | 92 | Superstar | 27 | 4 | $30.1M |
| Mac Jones | QB | 79 | 28 | 4 | $8.5M | |
| Kenny Pickett | QB | 70 | 29 | 1 | $1.3M | |
| Christian McCaffrey | HB | 95 | X-Factor | 31 | 2 | $26.4M |
| Kaelon Black | HB | 82 | Star | 25 | 3 | $1.5M |
| Donovan Edwards | HB | 77 | 24 | 2 | $450K | |
| Jett Carpenter | FB | 69 | 23 | 1 | $950K | |
| Ryan Wingo | WR | 88 | Star | 21 | 4 | $5.4M |
| De'Zhaun Stribling | WR | 87 | Star | 24 | 3 | $3.0M |
| Ricky Pearsall | WR | 85 | 26 | 2 | $4.0M | |
| KeAndre Lambert-Smith | WR | 77 | 25 | 1 | $8.3M | |
| Jacob Cowing | WR | 76 | 26 | 1 | $2.4M | |
| Ian Strong | WR | 73 | 22 | 4 | $1.3M | |
| Jake Tonges | TE | 76 | 28 | 1 | $2.6M | |
| Jeremiah Hasley | TE | 76 | 23 | 4 | $1.1M | |
| Chase Roberts | TE | 74 | 26 | 1 | $1.1M | |
| Xavier Chaplin | LT | 74 | 23 | 4 | $1.6M | |
| Vederian Lowe | LT | 72 | 28 | 1 | $5.3M | |
| Greg Johnson | LG | 78 | Star | 22 | 4 | $1.2M |
| Netane Muti | LG | 74 | 28 | 1 | $4.8M | |
| Connor Colby | LG | 72 | 24 | 2 | $810K | |
| Jake Andrews | C | 75 | 27 | 1 | $1.3M | |
| Brady Small | C | 71 | 22 | 1 | $1.4M | |
| Dominick Puni | RG | 85 | Star | 27 | 3 | $1.8M |
| Trevor Penning | RG | 74 | 28 | 1 | $1.3M | |
| Colton McKivitz | RT | 83 | 31 | 2 | $8.8M | |
| Terence Steele | RT | 76 | 30 | 1 | $6.9M |
DEFENSE
| PLAYER | POS | OVR | DEV | AGE | YRS LEFT | CAP HIT |
|---|---|---|---|---|---|---|
| Nick Bosa | LEDG | 97 | Superstar | 29 | 2 | $54.9M |
| Romello Height | LEDG | 85 | Star | 26 | 3 | $5.6M |
| Mykel Williams | REDG | 83 | Star | 23 | 2 | $6.5M |
| DJ Johnson | REDG | 74 | 28 | 2 | $6.0M | |
| Gracen Halton | DT | 84 | Star | 23 | 3 | $1.3M |
| Alfred Collins | DT | 83 | Star | 25 | 2 | $2.8M |
| Mekhi Wingo | DT | 77 | 24 | 2 | $1.5M | |
| Jalen Graham | SAM | 72 | 26 | 1 | $1.3M | |
| Jamon Dumas-Johnson | SAM | 72 | 25 | 1 | $1.2M | |
| Fred Warner | MIKE | 99 | X-Factor | 30 | 3 | $24.4M |
| Jaden Dugger | MIKE | 76 | 23 | 3 | $1.2M | |
| Gideon ESPN Lampron | MIKE | 71 | 23 | 1 | $950K | |
| Dre Greenlaw | WILL | 89 | Star | 30 | 4 | $7.6M |
| Nick Martin | WILL | 78 | 24 | 2 | $1.8M | |
| Deommodore Lenoir | CB | 86 | Star | 27 | 3 | $17.7M |
| Renardo Green | CB | 85 | Star | 26 | 1 | $2.0M |
| Ephesians Prysock | CB | 81 | 24 | 3 | $1.2M | |
| Andre Fuller | CB | 75 | 25 | 2 | $1.1M | |
| Collin Wright | CB | 74 | 23 | 2 | $480K | |
| Malik Mustapha | FS | 84 | 25 | 1 | $1.4M | |
| Patrick McMorris | FS | 73 | 25 | 2 | $670K | |
| Bray Hubbard | SS | 88 | X-Factor | 22 | 4 | $2.5M |
| Ji'Ayir Brown | SS | 79 | 27 | 1 | $1.3M |
SPECIAL TEAMS
| PLAYER | POS | OVR | DEV | AGE | YRS LEFT | CAP HIT |
|---|---|---|---|---|---|---|
| Eddy Pineiro | K | 79 | Star | 31 | 3 | $2.7M |
| Corliss Waitman | P | 77 | 32 | 1 | $1.8M |
PRACTICE SQUAD · 12
Not on the 53. They don't play, don't sit on the depth chart and can't be traded -- any team can sign them.
| PLAYER | POS | OVR | DEV | AGE | CAP HIT |
|---|---|---|---|---|---|
| Smael Mondon Jr | WILL | 74 | 24 | $0 | |
| Chris Paul Jr | WILL | 72 | 24 | $0 | |
| Jakobie Keeney-James | WR | 71 | 26 | $0 | |
| Ja'Quinden Jackson | HB | 68 | 25 | $0 | |
| James Smith | DT | 67 | 22 | $0 | |
| Aidan Birr | K | 67 | 23 | $0 | |
| Diego Pavia | QB | 66 | 24 | $0 | |
| Noah Josey | LG | 64 | 23 | $0 | |
| Abu Sama III | HB | 63 | 22 | $0 | |
| Jalen Slappy | RG | 62 | 23 | $0 | |
| Conner Moore | RT | 61 | 23 | $0 | |
| Jake Majors | C | 59 | 25 | $0 |
SALARY CAP
Spent $303.8M
Room $326.2M
Free $22.4M
93% of the cap committed
TEAM NEEDS — THE DEEP READ
LT
12.8 OVR below league average
room grades 74.0
TE
10.8 OVR below league average
room grades 76.0
C
7.8 OVR below league average
room grades 75.0
FS
4.6 OVR below league average
room grades 84.0
FRONT OFFICE CALLS
📈 SELL HIGH
Fred Warner
MIKE · 99 OVR · 30yo
Still commands a premium — the age cliff comes for everyone
📈 SELL HIGH
Christian McCaffrey
HB · 95 OVR · 31yo
Still commands a premium — the age cliff comes for everyone
📈 SELL HIGH
Dre Greenlaw
WILL · 89 OVR · 30yo
Still commands a premium — the age cliff comes for everyone
⏳ EXPIRING
Renardo Green
CB · 85 OVR · 26yo
Final contract year — re-sign him or flip him before he walks
⏳ EXPIRING
Malik Mustapha
FS · 84 OVR · 25yo
Final contract year — re-sign him or flip him before he walks
⏳ EXPIRING
Ji'Ayir Brown
SS · 79 OVR · 27yo
Final contract year — re-sign him or flip him before he walks
UPCOMING FREE AGENTS
Renardo Green
CB · 85 OVR · age 26
current: $4.8M
Malik Mustapha
FS · 84 OVR · age 25
current: $3.9M
Ji'Ayir Brown
SS · 79 OVR · age 27
current: $1.3M
Corliss Waitman
P · 77 OVR · age 32
current: $2.4M
KeAndre Lambert-Smith
WR · 77 OVR · age 25
current: $9.6M
Jake Tonges
TE · 76 OVR · age 28
current: $2.4M
Terence Steele
RT · 76 OVR · age 30
current: $5.9M
Jacob Cowing
WR · 76 OVR · age 26
current: $3.1M
Jake Andrews
C · 75 OVR · age 27
current: $1.3M
Netane Muti
LG · 74 OVR · age 28
current: $6.4M
Chase Roberts
TE · 74 OVR · age 26
current: $1.1M
Trevor Penning
RG · 74 OVR · age 28
current: $1.3M
FULL SCHEDULE
kickoff times set by the owners in Franchise HQ
| WK | OPPONENT | RESULT | KICKOFF | |
|---|---|---|---|---|
| 1 | @ | Lions |
L 10–17 | |
| 2 | vs | Jaguars |
L 28–38 | |
| 3 | vs | Packers |
W 30–25 | |
| 4 | @ | Bengals |
W 25–23 | |
| 5 | vs | Browns |
W 27–17 | |
| 6 | @ | Ravens |
L 6–49 | |
| 7 | vs | Cardinals |
L 22–30 | |
| 8 | @ | Seahawks |
L 7–49 | |
| 9 | vs | Bears |
L 21–33 | |
| 10 | vs | Panthers |
W 33–14 | |
| 11 | @ | Rams |
L 27–30 | |
| 12 | vs | Steelers |
W 28–23 | |
| 13 | vs | Rams |
L 15–20 | |
| 15 | @ | Cardinals |
L 13–24 | |
| 16 | @ | Cowboys |
— | unscheduled |
| 17 | vs | Seahawks |
— | unscheduled |
| 18 | @ | Vikings |
— | unscheduled |