The San Francisco 49ers improved their record to 8-4 after a 20-9 win against the Carolina Panthers in Week 12. Today, Pro Football Focus released its grades and snap counts from the game. Which Niners stood out, and who needs more work?
Highest-graded 49ers: Offense
- Dominick Puni, RG, 88.1, 70 snaps
- Colton McKivitz, RT, 86.4, 70 snaps
- Trent Williams, LT, 82.7, 70 snaps
- Spencer Burford, LG, 81.0, 35 snaps
- Luke Farrell, TE, 74.8, 19 snaps
Highest-graded 49ers: Defense
- Ji'Ayir Brown, FS, 91.6, 46 snaps
- Upton Stout, CB, 82.2, 27 snaps
- Malik Mustapha, FS, 69.6, 46 snaps
- Jordan Elliott, DT, 66.4, 22 snaps
- Kalia Davis, DT, 64.3, 26 snaps
Lowest-graded 49ers: Offense
- Demarcus Robinson, WR, 51.7, 38 snaps
- Ricky Pearsall, WR, 52.5, 53 snaps
- Christian McCaffrey, RB, 54.5, 58 snaps
- Kendrick Bourne, WR, 54.5, 6 snaps
- Skyy Moore, WR, 56.7, 5 snaps
Lowest-graded 49ers: Defense
- Curtis Robinson, LB, 32.0, 46 snaps
- Jason Pinnock, SS, 33.4, 19 snaps
- Alfred Collins, DT, 41.4, 21 snaps
- CJ West, DT, 45.2, 16 snaps
- Clelin Ferrell, DE, 47.4, 21 snaps
Highest-graded Panthers
- Jaycee Horn, CB, 94.0, 38 snaps
- Princely Umanmielen, LOLB, 84.7, 14 snaps
- Mike Jackson, CB, 79.2, 70 snaps
- Taylor Moton, RT, 78.8, 46 snaps
- Trevis Gipson, DE, 76.5, 20 snaps
Quarterback play
Brock Purdy turned in his worst performance of the year, throwing three interceptions in the first half and finishing 23-of-32 for 193 yards, one touchdown, and the three picks. His 58.5 passer rating and 60.9 offensive grade were both season lows.
While Purdy earned a 72.0 passer grade on short passes (fewer than 10 yards), he posted a 59.7 grade on medium throws (10–19 yards) and a 63.1 mark on deep attempts (20-plus yards).
Panthers quarterback Bryce Young fared even worse, earning a 40.3 offensive grade—the second-worst mark of the game.
Highest marks
Safety Ji'Ayir Brown came away with two interceptions against the Panthers and was the 49ers' highest-graded player with a 91.6 defensive grade.
The highest-graded player overall was Panthers cornerback Jaycee Horn, who snagged two of Purdy's three interceptions and earned a 94.0 defensive grade.
Blocking
The highest-graded offensive lineman of the game was right guard Dominick Puni (88.1), whose 82.4 pass-blocking grade also led all linemen. He allowed just one pressure—a hurry—across 35 pass-blocking snaps.
Right tackle Colton McKivitz earned the 49ers' best run-blocking grade at 90.3.
The game's lowest-graded offensive lineman was left guard Ben Bartch, who posted a 57.0 offensive grade. He also recorded the lowest run-blocking grade (56.6) among all offensive linemen and the team's lowest pass-blocking grade (57.3).
Spencer Burford, who started at left guard, earned better marks across the board (81.0 offensive, 77.5 run-blocking, 77.1 pass-blocking) compared to Bartch. They each played 35 snaps.
In total, the 49ers' offensive line surrendered eight pressures.
Pressures allowed among O-line:- LT Trent Williams — 3
- C Jake Brendel — 2
- LG Ben Bartch, LG Spencer Burford, RG Dominick Puni — 1 each
Pass Catchers
Running back Christian McCaffrey earned a game-best 88.0 receiving grade, catching all seven of his targets for 53 yards, with four resulting in first downs.
The next-highest receiving grade among 49ers players went to wide receiver Jauan Jennings (68.2), who finished with five catches for 41 yards and a touchdown.
Wide receiver Demarcus Robinson earned the lowest receiving grade among San Francisco's pass catchers, finishing at 52.2.
Drops:- TE George Kittle — 1
Rushing
Quarterback Brock Purdy earned the game's best run grade (79.5), though on just six attempts. Brian Robinson was the highest-graded running back overall, posting a 75.1 run grade—well above Christian McCaffrey's 46.2.
Robinson finished with seven carries for 40 yards, while McCaffrey recorded 24 carries for 89 yards, a touchdown, and a fumble.
Pass rush
The 49ers have gone without a sack three times this season but avoided a fourth thanks to defensive end Clelin Ferrell, who brought down Panthers quarterback Bryce Young.
However, defensive end Sam Okuayinonu earned San Francisco's best pass-rush grade (67.7). He did not finish the game due to an ankle injury.
Linebacker Curtis Robinson, playing in place of injured Tatum Bethune, earned the team's lowest pass-rush grade (52.3).
Pressures by 49ers defenders:- DE Bryce Huff — 5
- DE Clelin Ferrell — 3
- DT Kalia Davis — 2
- DE Sam Okuayinonu, CB Upton Stout, DT CJ West, DE Keion White — 1 each
Run defense
The 49ers' highest-graded run defender was cornerback Deommodore Lenoir, who earned a 71.3 grade. Safety Malik Mustapha followed with a 67.9 run-defense grade.
Defensive end Bryce Huff recorded the lowest run-defense grade among San Francisco defenders at 37.2.
Pass defense
Safety Ji'Ayir Brown, who recorded two interceptions, earned San Francisco's best coverage grade (89.6), while safety Jason Pinnock received the lowest mark of the game (29.1).
Quarterback Bryce Young posted a 58.3 passer rating when targeting Brown.
Tackling
Rookie cornerback Upton Stout was the game's highest-graded tackler (85.3) and did not record a missed tackle.
The lowest-graded tackler of the game was defensive end Bryce Huff (23.2).
- LB Curtis Robinson — 3
- SS Jason Pinnock — 2
- DE Bryce Huff, FS Malik Mustapha, DE Sam Okuayinonu — 1 each
49ers Week 12 snap counts
Offense
70 - Brock Purdy (QB), Colton McKivitz (RT), Dominick Puni (RG), Jake Brendel (C), Trent Williams (LT)
64 - George Kittle (TE)
63 - Jauan Jennings (WR)
58 - Christian McCaffrey (RB)
53 - Ricky Pearsall (WR)
38 - Demarcus Robinson (WR)
35 - Ben Bartch (LG), Spencer Burford (LG)
30 - Kyle Juszczyk (FB)
19 - Luke Farrell (TE)
12 - Brian Robinson (RB)
6 - Kendrick Bourne (WR)
5 - Skyy Moore (WR)
2 - Jake Tonges (TE)
Defense
46 - Curtis Robinson (LB), Dee Winters (LB), Ji'Ayir Brown (FS), Malik Mustapha (FS)
45 - Deommodore Lenoir (CB)
39 - Renardo Green (CB)
35 - Bryce Huff (DE)
29 - Keion White (DE)
27 - Upton Stout (CB)
26 - Kalia Davis (DT)
22 - Jordan Elliott (DT)
21 - Alfred Collins (DT), Clelin Ferrell (DE)
19 - Jason Pinnock (SS)
16 - CJ West (DT)
15 - Sam Okuayinonu (DE)
6 - Darrell Luter Jr. (CB)
1 - Luke Gifford (LB)
Special Teams
16 - Luke Gifford
15 - Luke Farrell
14 - Darrell Luter Jr., Marques Sigle, Siran Neal
11 - Nick Martin
10 - Chase Lucas, Jake Tonges
9 - Isaac Guerendo, Matt Gay (K)
8 - Clelin Ferrell
7 - Jalen Graham, Skyy Moore
5 - Alfred Collins, Curtis Robinson, Ji'Ayir Brown, Jon Weeks (LS), Keion White, Thomas Morstead (P)
4 - Austen Pleasants, Ben Bartch, Colton McKivitz, Dominick Puni, Matt Hennessy, Spencer Burford
3 - Brian Robinson, Jordan Elliott, Kalia Davis
2 - Bryce Huff, Dee Winters, Deommodore Lenoir, Malik Mustapha, Renardo Green, Sam Okuayinonu
1 - Kyle Juszczyk