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).
Missed tackles by 49ers defenders:
- 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
Related News
More San Francisco 49ers News
-
49ers vs. Raiders PFF grades: Best and worst from the game, plus snap counts
The San Francisco 49ers beat the Las Vegas Raiders 18-12 in their preseason finale. Pro Football Focus released its grades and snap counts from the game, providing a closer look at which 49ers players stood out and who has more work to do. Highest-graded 49ers:... -
49ers vs. Rams in Week 1: How to watch, stream, and listen, plus odds
The San Francisco 49ers open the 2026 regular season on the road as they take on the Los Angeles Rams at the Melbourne Cricket Ground in Melbourne, Australia, marking the NFL's first-ever regular-season game in Australia. This matchup marks the 155th overall meeting between the... -
PFF names 49ers' highest-graded player of the 2026 preseason
Gordon McGuinness of Pro Football Focus (PFF) recently identified each NFL team's highest-graded player of the preseason. For the San Francisco 49ers, that distinction belonged to cornerback Jack Jones, the veteran defender entering his first season with the team. Jones led... -
How 49ers' Mike Evans is inspiring Brock Purdy to play his best football in 2026
Wide receiver Mike Evans joined the San Francisco 49ers in March, bringing with him an impressive résumé that includes 11 consecutive seasons with more than 1,000 receiving yards. As Evans enters his 13th NFL season, the veteran wideout is already inspiring his...