Carver Willis Graded Last Among The 49ers Linemen A Week After Grading First On The Team
A player-by-player read of the grades from Thursday's 41-17 win at the Chargers. PFF put the rookie who started at left guard last of the eleven San Francisco linemen it charted, and put the man who took the other left guard snaps second among every lineman on the field. Nine days until the roster is due.

Thursday's 41-17 win at SoFi Stadium was worth one line of orientation and no more than that. The men in it are the story, because on August 30 at 3:00pm PT this roster goes from 90 to 53 and there is one game left.
What follows is those men, one at a time, against the grading layer the morning after could not carry. The caveat governs everything below: these are one vendor's numbers on samples measured in dozens of snaps, against another team's reserves, in a game nobody gameplanned. A Pro Football Focus grade is a place to look. It is not a verdict, and where the tape and the number point different directions, both are printed.
The left guard graded last, and the man beside him graded second in the game#
Carver Willis started at left guard and played 42 offensive snaps, more than any other San Francisco guard. PFF made him the lowest-graded of the eleven 49ers offensive linemen it charted, at 40.0, with a 41.1 run-blocking grade and a 44.4 in pass protection. He allowed two pressures on 24 pass-blocking snaps.
That is the same rookie who, seven days earlier against Tennessee, was PFF's highest-graded 49er on the field. He graded first among all 23 San Francisco players charted as run blockers in that game, and he played left tackle in it, 33 snaps of it. Part of what changed on Thursday is where he lined up. On Thursday only Colton McKivitz, who played 12 offensive snaps to Willis's 42, graded lower among the linemen in the phase Willis had just led the roster in.
Nick Zakelj played 38 snaps at left guard and graded second among every offensive lineman in the game, either team, at 72.9. Only Brandon Parker, at 74.5, graded higher, and Parker played right tackle for 25 snaps and was not charged with a pressure on 15 in protection. Zakelj was charged with one on 20.
Print the other half of that before it gets used for anything. Zakelj was released on August 10, three days before the Tennessee game, and re-signed on August 17. He was not on this roster for the first preseason game and did not play in it, so Thursday's 38 snaps are his entire preseason and there is no second game to check them against. Willis has 75 snaps across two. One of those two numbers is a sample and the other is an appearance.
He is also still missing from the club's own roster page, six days after the club announced it had signed him.
He is also not on the list of men competing for the job. Kyle Shanahan, asked about left guard after the game, named three: "The guys that are battling, they haven't all had a consistent three weeks or month to do it, especially Carver just coming back missing those first two weeks. And now Robert Jones is out. Connor Colby, he's been getting a lot of reps there too." Kirk Larrabee's own list at 49ers Webzone added Austen Pleasants and stopped there.
The rest of the room did not help. Connor Colby opened at right guard for 45 snaps and graded 49.6. Pleasants started at left tackle, moved inside, and left in the third quarter with a knee injury; he was PFF's lowest-graded pass-blocking lineman on the team at 29.1 and tied Enrique Cruz Jr. for the most pressures allowed by anyone in the game, four apiece. Robert Jones did not dress.
Shanahan on the timeline: "It's going to go down to the wire." Asked whether it could run past Week 1, "Possibly. We've got to pick one for week one, and hopefully one of those guys will separate themselves."
Two rookies had the best defensive night on this roster#
James Thompson Jr. was PFF's highest-graded 49ers defender at 90.3, its highest-graded 49ers pass rusher at 80.8, and its highest-graded 49ers run defender at 79.8. He played 26 defensive snaps.
Print the rest of that denominator, because it is the caution. Thompson was credited with one pressure on 17 pass-rushing snaps. A grade that high on production that thin is a model paying for how a rep looked rather than what it produced. The model may be right. It is 26 snaps.
Bryson Eason played 26 as well and took PFF's fourth-highest defensive grade on the team, behind Thompson, Jack Jones and Ogbo Okoronkwo. Jason Aponte of Niners Nation credited him with a batted pass and a team-high 88.4 in PFF's true pass rush measure. Eason also had the best defensive grade on the roster against Tennessee, which makes Thursday the second straight game he has finished near the top of it.
Neither is inside the 53 on the tracker this beat maintains. Matt Maiocco's third roster projection of the camp moved between them: "Last week, we gave the edge to James Thompson Jr. Now, we're shifting to Eason, while also giving strong consideration to Sebastian Valdez." It moved off the man the grades liked best.
Alfred Collins had a quiet grade and one loud rep#
Collins started, played 20 defensive snaps and graded 56.1. Five of the eleven San Francisco defensive linemen who played took more snaps than he did, all of them reserves, and PFF graded eight of the eleven above him.
That is the number. The tape, per Aponte, says something else about one rep: Collins "wasn't credited with a pressure, but shed RG Cole Strange with a quick swipe and was bearing down on Justin Herbert." Charting pays for the pressure. It does not pay for the swipe that did not quite arrive, and on 20 snaps that difference is the whole grade.
The backup running back job splits by down#
Sincere McCormick gained the most rushing yards of anyone on the field, 53 on six carries with a touchdown, and PFF graded him third of the four 49ers backs as a runner at 67.4. Khalil Herbert's 78.9 was the highest rushing grade in the game. Kaelon Black graded 71.8 on eight carries for 33 yards. Zamir White, on a team-high 12 carries for 29 yards, graded 49.1, the lowest of any back in the game.
McCormick's long run came with help. Aponte has Brayden Willis, taking snaps at fullback, springing it with a seal block.
And PFF made McCormick the team's lowest-graded pass blocker. For a back competing to be third or fourth in a Kyle Shanahan backfield, that is the half of the job that decides it. Aponte points the same way from the other end: Black's pass protection "shouldn't go unnoticed," and "the quickest way to find yourself in Kyle Shanahan's doghouse is to miss a blocking assignment."
Shanahan on Black, who was in his second day back from an adductor injury: "He ran real physical. We'd love to keep him in there a little bit longer, but being his second day back, we were smart with him."
Jack Jones confirmed it. Darrell Luter did not.#
Jones played 29 defensive snaps, took PFF's best coverage grade on the team at 89.9, allowed no catch on two targets and broke up two passes. Deommodore Lenoir was next at 76.8. Renardo Green graded 45.1 before his hamstring took him out after nine snaps.
Darrell Luter Jr. played 42, tied with Jalen Stroman for the most on the defense, and graded 57.2. Among the six cornerbacks who finished the game, PFF put his coverage last. He played 45 against Tennessee, second to Ephesians Prysock's 53. Across two preseason games he has been given as much work as any corner here and has not once been graded near the top of the room. Maiocco's projection has him on the 53. The tracker here has him at 3 and outside, and that gap is now two games old.
Two more, further down. Larry Worth III, a 21-year-old rookie out of Arkansas, played 18 snaps and graded 71.6, and PFF's coverage grades put him third on the defense behind Jones and Lenoir. He is not on this board at all. At safety the direction reverses: Jalen Stroman played 42 snaps and graded 37.5, and Ashtyn Davis, who sits on the tracker as the fourth safety and inside the 53, was PFF's lowest-graded 49ers defender at 29.7.
The rookie receiver, and nine days#
De'Zhaun Stribling was the highest-graded 49er on the field at 90.5, with the best receiving grade on the team at 85.1, on four catches for 46 yards and 14 offensive snaps. He also dropped a likely touchdown, which Shanahan declined to wave off: "That's his strength is his hands."
One game remains, Thursday at Las Vegas, 5:00pm PDT at Allegiant Stadium. For most of the men above it is the last one they get.
Sources: official NFL game book, San Francisco at Los Angeles Chargers, August 20, 2026; 49ers.com schedule and roster pages, read August 22; David Bonilla, 49ers Webzone, August 21; Jason Aponte, Niners Nation, August 21; Kirk Larrabee, 49ers Webzone, August 21; Matt Maiocco, NBC Sports Bay Area, August 21.




