The San Francisco 49ers finished the 2025 regular season with a 12-5 record after a 13-3 loss against the Seattle Seahawks in Week 18. 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, 84.0, 42 snaps
- Brock Purdy, QB, 76.2, 42 snaps
- Brian Robinson, RB, 66.9, 6 snaps
- George Kittle, TE, 64.4, 40 snaps
- Jauan Jennings, WR, 64.4, 37 snaps
Highest-graded 49ers: Defense
- Upton Stout, CB, 85.6, 27 snaps
- Jason Pinnock, SS, 80.4, 22 snaps
- Sam Okuayinonu, DE, 73.1, 37 snaps
- Keion White, DE, 72.8, 39 snaps
- Clelin Ferrell, DE, 68.3, 28 snaps
Lowest-graded 49ers: Offense
- Austen Pleasants, LT, 38.7, 42 snaps
- Spencer Burford, LG, 47.6, 42 snaps
- Luke Farrell, TE, 48.5, 8 snaps
- Kendrick Bourne, WR, 52.0, 22 snaps
- Jake Brendel, C, 53.4, 42 snaps
Lowest-graded 49ers: Defense
- Tatum Bethune, LB, 25.2, 53 snaps
- Kalia Davis, DT, 35.8, 25 snaps
- Garret Wallow, LB, 36.1, 40 snaps
- Alfred Collins, DT, 38.3, 30 snaps
- Yetur Gross-Matos, DE, 38.4, 29 snaps
Highest-graded Seahawks
- Grey Zabel, LG, 93.4, 69 snaps
- Drake Thomas, LB, 92.1, 30 snaps
- DeMarcus Lawrence, DE, 82.1, 26 snaps
- Kenneth Walker III, RB, 81.5, 29 snaps
- Derick Hall, ROLB, 78.8, 21 snaps
Quarterback play
Quarterback Brock Purdy finished 19-of-27 for a season-low 127 passing yards with zero touchdowns and one interception. His 64.9 passer rating was his second-lowest of the season (58.5 vs. the Panthers in Week 12). Still, Purdy earned a 76.2 offensive grade, boosted by a 77.9 run grade. He posted a 69.0 passing grade.
By comparison, Seahawks quarterback Sam Darnold earned a 60.2 offensive grade (67.2 passing) after completing 20 of 26 passes for 198 yards with no touchdowns or interceptions.
Highest marks
Cornerback Upton Stout was the 49ers' highest-graded player (85.6 defensive grade). The team's top offensive grade belonged to right guard Dominick Puni (84.0).
Seahawks left guard Grey Zabel was the game's highest-graded player overall (93.4).
Blocking
Right guard Dominick Puni wasn't just the 49ers' highest-graded offensive lineman. He also earned the team's best run-blocking grade (78.4) and pass-blocking grade (87.9), surrendering zero pressures on 32 pass-blocking snaps.
Left tackle Austen Pleasants, filling in for an injured Trent Williams, was the game's lowest-graded offensive lineman (38.7). He posted the team's worst run-blocking grade (35.1) and the lowest pass-blocking grade (39.6) among all offensive linemen in the game. Pleasants allowed three pressures, including two hurries and a hit.
In total, the 49ers' offensive line surrendered 14 pressures.
- LG Spencer Burford, RT Colton McKivitz — 4 each
- C Jake Brendel, LT Austen Pleasants — 3 each
Pass Catchers
Tight end George Kittle led all 49ers pass catchers with a 66.1 receiving grade. He finished with five receptions for 29 yards on six targets, per Pro Football Focus.
Surprisingly, running back Christian McCaffrey was the game's lowest-graded pass catcher (51.1) despite catching six passes for only 34 yards. He recorded the only drop of the game.
Of course, wide receiver Jauan Jennings led the 49ers with just 35 receiving yards on four catches, earning a 63.6 receiving grade.
Drops:- RB Christian McCaffrey — 1
Rushing
Quarterback Brock Purdy earned the game's best run grade (77.9), followed by Seahawks running back Kenneth Walker III (77.2). Purdy finished with two carries for 21 yards.
Brian Robinson earned the best run grade (66.2) among 49ers running backs, while Christian McCaffrey posted a 56.0 run grade after leading the team with just 23 rushing yards on eight carries.
Pass rush
Two 49ers recorded a sack apiece: linebacker Tatum Bethune and defensive end Sam Okuayinonu. However, defensive end Keion White earned the team's best pass-rush grade (76.1), tying Okuayinonu for the team lead with four pressures.
The game's lowest-graded pass rusher was defensive end Yetur Gross-Matos, who failed to record a pressure on 17 pass-rushing snaps.
Pressures by 49ers defenders:- DE Sam Okuayinonu, DE Keion White — 4 each
- DE Bryce Huff — 3
- LB Tatum Bethune, DE Clelin Ferrell, SS Jason Pinnock, CB Upton Stout, LB Dee Winters — 1 each
Run defense
Safety Jason Pinnock was the 49ers' highest-graded run defender (78.7), while linebacker Tatum Bethune was the lowest-graded run defender in the game (28.8).
Pinnock's 78.7 run-defense grade was his highest of the season and his best since Week 16 of the 2021 season (91.2 vs. the Jaguars).
Pass defense
Cornerback Upton Stout earned the game's best coverage grade (90.4), narrowly edging Seahawks linebacker Drake Thomas (90.1). Stout allowed two catches for just two yards on three targets.
Linebacker Tatum Bethune posted a 27.7 coverage grade, the lowest of any player in the game. He was targeted seven times, allowing six receptions for 78 yards and a 113.1 passer rating.
Tackling
Cornerback Renardo Green was the 49ers' highest-graded tackler (81.2), recording eight tackles without a miss.
The game's lowest-graded tackler was defensive end Bryce Huff (24.0).
As a unit, the 49ers defense committed a season-high 18 missed tackles.
Missed tackles by 49ers defenders:- LB Tatum Bethune — 5
- FS Malik Mustapha — 3
- FS Ji'Ayir Brown, CB Deommodore Lenoir, LB Dee Winters — 2 each
- DT Alfred Collins, DE Yetur Gross-Matos, DE Bryce Huff, CB Upton Stout — 1 each
49ers Week 18 snap counts
Offense
42 - Austen Pleasants (LT), Brock Purdy (QB), Colton McKivitz (RT), Dominick Puni (RG), Jake Brendel (C), Spencer Burford (LG)
40 - George Kittle (TE)
37 - Demarcus Robinson (WR), Jauan Jennings (WR)
36 - Christian McCaffrey (RB)
22 - Kendrick Bourne (WR)
19 - Kyle Juszczyk (FB)
8 - Luke Farrell (TE)
6 - Brian Robinson (RB)
5 - Skyy Moore (WR)
Defense
69 - Ji'Ayir Brown (FS), Malik Mustapha (FS)
68 - Deommodore Lenoir (CB), Renardo Green (CB)
53 - Tatum Bethune (LB)
40 - Garret Wallow (LB)
39 - Keion White (DE)
37 - Sam Okuayinonu (DE)
36 - Eric Kendricks (LB)
31 - CJ West (DT)
30 - Alfred Collins (DT), Bryce Huff (DE)
29 - Dee Winters (LB), Yetur Gross-Matos (DE)
28 - Clelin Ferrell (DE), Jordan Elliott (DT)
27 - Upton Stout (CB)
25 - Kalia Davis (DT)
22 - Jason Pinnock (SS)
1 - Luke Gifford (LB)
Special Teams
16 - Luke Gifford
15 - Darrell Luter Jr., Marques Sigle, Siran Neal
11 - Jake Tonges, Luke Farrell
9 - Sam Okuayinonu
7 - Eric Kendricks, Garret Wallow, Jason Pinnock
6 - Alfred Collins
5 - Jon Weeks (LS), Jordan Elliott, Jordan James, Keion White, Skyy Moore, Tatum Bethune, Thomas Morstead (P)
4 - Brian Robinson, Kyle Juszczyk
3 - CJ West, Clelin Ferrell, Eddy Pineiro (K), Kalia Davis
2 - Ji'Ayir Brown
1 - Austen Pleasants, Colton McKivitz, Connor Colby, Deommodore Lenoir, Dominick Puni, Malik Mustapha, Matt Hennessy, Renardo Green, Spencer Burford