San Francisco went 12-5 and made the playoffs as the No. 6 seed despite a year defined by injuries to nearly the entire offensive line and the secondary. Brock Purdy threw for 4,200 yards and 33 touchdowns in his most productive year as a pro, including a career-high five-touchdown game in a 48-27 Week 16 win over Indianapolis. Purdy played the year on his fifth-year option after his offseason extension talks broke down.
Christian McCaffrey, fully healthy for the first time since 2023, ran for 1,400 yards and added 800 receiving in a Comeback Player of the Year campaign. George Kittle missed five games with a hamstring injury but caught 70 passes when active. The defense, in Robert Saleh's first year back as coordinator after his Jets firing, ranked top-twelve in points allowed.
The wild-card round at Philadelphia was a 23-19 win in which Purdy threw for 240 yards and McCaffrey ran for 110. The divisional round at Seattle was a 41-6 loss in which Purdy completed 15 of 27 for 140 yards, threw an interception, and lost a fumble. The defense gave up 41 points to Sam Darnold and the Seahawks. Kyle Shanahan kept his job and the franchise spent the offseason in renewed contract talks with Purdy and Brandon Aiyuk.

| Player | Pos | # | Snaps | Overall | Arm | Accuracy | Clutch | Ball Security | Release Speed | Scramble | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Snaps 686 | Overall 90 | Accuracy 94 | QB | #13 | 686 | 90 | 83 | 94 | 49 | 34 | 6 | 84 | |||||||
| Snaps 554 | Overall 71 | Accuracy 97 | QB | #10 | 554 | 71 | 66 | 97 | 14 | 63 | 62 | 52 | |||||||

| Player | Pos | # | Snaps | Overall | Rush | Power | Burst | Receiving | Blocking | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Snaps 1,014 | Overall 59 | Rush 18 | RB | #23 | 1,014 | 59 | 18 | 31 | 20 | 97 | 14 | ||||||||
| Snaps 212 | Overall 19 | Rush 23 | RB | #03 | 212 | 19 | 23 | 50 | 22 | 7 | 4 | ||||||||
| Snaps 569 | Overall 14 | Rush 5 | RB | #44 | 569 | 14 | 5 | 1 | 2 | 66 | 85 | ||||||||

| Player | Pos | # | Snaps | Overall | Route Running | Separation | Hands | YAC | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Snaps 522 | Overall 73 | Route Running 77 | WR | #01 | 522 | 73 | 77 | 72 | 80 | 8 | |||||||||
| Snaps 483 | Overall 62 | Route Running 58 | WR | #05 | 483 | 62 | 58 | 41 | 41 | 34 | |||||||||
| Snaps 898 | Overall 58 | Route Running 64 | WR | #15 | 898 | 58 | 64 | 46 | 35 | 46 | |||||||||
| Snaps 129 | Overall 45 | Route Running 41 | WR | #09 | 129 | 45 | 41 | 32 | 95 | 86 | |||||||||
| Snaps 639 | Overall 41 | Route Running 47 | WR | #84 | 639 | 41 | 47 | 51 | 5 | 67 | |||||||||
| Snaps 25 | Overall 37 | Route Running 36 | WR | #17 | 25 | 37 | 36 | 74 | 1 | 1 | |||||||||
| Snaps 28 | Overall 10 | - | WR | #14 | 28 | 10 | - | - | - | - | |||||||||

| Player | Pos | # | Snaps | Overall | Receiving | Separation | Hands | Pass Pro | Run Block | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Snaps 567 | Overall 99 | Receiving 99 | TE | #85 | 567 | 99 | 99 | 96 | 74 | 77 | 88 | ||||||||
| Snaps 470 | Overall 87 | Receiving 82 | TE | #88 | 470 | 87 | 82 | 49 | 81 | 32 | 91 | ||||||||
| Snaps 457 | Overall 30 | Receiving 5 | TE | #89 | 457 | 30 | 5 | 4 | 28 | 16 | 86 | ||||||||

| Player | Pos | # | Snaps | Overall | Pass Pro | Drive | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Snaps 1,112 | Overall 100 | Pass Pro 94 | OT | #71 | 1,112 | 100 | 94 | 100 | |||||||||||
| Snaps 1,235 | Overall 98 | Pass Pro 79 | OT | #68 | 1,235 | 98 | 79 | 100 | |||||||||||
| Snaps 175 | Overall 76 | Pass Pro 49 | C | #61 | 175 | 76 | 49 | 88 | |||||||||||
| Snaps 200 | Overall 75 | Pass Pro 55 | OG | #78 | 200 | 75 | 55 | 84 | |||||||||||
| Snaps 1,066 | Overall 75 | Pass Pro 47 | C | #64 | 1,066 | 75 | 47 | 91 | |||||||||||
| Snaps 1,235 | Overall 69 | Pass Pro 49 | OG | #77 | 1,235 | 69 | 49 | 81 | |||||||||||
| Snaps 577 | Overall 33 | Pass Pro 14 | OG | #74 | 577 | 33 | 14 | 64 | |||||||||||
| Snaps 128 | Overall 32 | Pass Pro 19 | OT | #62 | 128 | 32 | 19 | 44 | |||||||||||
| Snaps 454 | Overall 24 | Pass Pro 7 | OG | #75 | 454 | 24 | 7 | 73 | |||||||||||

| Player | Pos | # | Snaps | Overall | Pass Rush | Run Stuff | Hurry | Tackling | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Snaps 119 | Overall 94 | Pass Rush 89 | EDGE | #97 | 119 | 94 | 89 | 59 | 81 | 92 | |||||||||
| Snaps 584 | Overall 62 | Pass Rush 75 | EDGE | #47 | 584 | 62 | 75 | 37 | 52 | 9 | |||||||||
| Snaps 642 | Overall 37 | Pass Rush 24 | EDGE | #91 | 642 | 37 | 24 | 23 | 17 | 51 | |||||||||
| Snaps 210 | Overall 31 | Pass Rush 75 | EDGE | #94 | 210 | 31 | 75 | 5 | 41 | 4 | |||||||||
| Snaps 507 | Overall 26 | Pass Rush 36 | EDGE | #56 | 507 | 26 | 36 | 18 | 16 | 43 | |||||||||
| Snaps 385 | Overall 13 | Pass Rush 8 | EDGE | #98 | 385 | 13 | 8 | 36 | 12 | 57 | |||||||||
| Snaps 104 | Overall 11 | Pass Rush 8 | EDGE | #51 | 104 | 11 | 8 | 28 | 32 | 55 | |||||||||
| Snaps 301 | Overall 11 | Pass Rush 7 | EDGE | #96 | 301 | 11 | 7 | 28 | 29 | 73 | |||||||||
| Snaps 517 | Overall 11 | Pass Rush 38 | DT | #92 | 517 | 11 | 38 | 8 | 34 | 54 | |||||||||
| Snaps 116 | Overall 7 | Pass Rush 18 | DT | #90 | 116 | 7 | 18 | 4 | 29 | 79 | |||||||||
| Snaps 542 | Overall 6 | Pass Rush 10 | DT | #93 | 542 | 6 | 10 | 3 | 8 | 21 | |||||||||
| Snaps 550 | Overall 4 | Pass Rush 31 | DT | #95 | 550 | 4 | 31 | 1 | 15 | 18 | |||||||||
| Snaps 334 | Overall 4 | Pass Rush 54 | DT | #99 | 334 | 4 | 54 | 1 | 36 | 21 | |||||||||

| Player | Pos | # | Snaps | Overall | Run Stuff | Cover | Blitz | Tackling | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Snaps 330 | Overall 100 | Cover 100 | LB | #54 | 330 | 100 | 100 | 100 | 24 | 86 | |||||||||
| Snaps 1,038 | Overall 57 | Cover 42 | LB | #53 | 1,038 | 57 | 55 | 42 | 20 | 41 | |||||||||
| Snaps 172 | Overall 51 | Cover 43 | LB | #43 | 172 | 51 | 39 | 43 | 2 | 96 | |||||||||
| Snaps 498 | Overall 38 | Cover 7 | LB | #48 | 498 | 38 | 79 | 7 | 52 | 35 | |||||||||
| Snaps 267 | Overall 37 | Cover 36 | LB | #59 | 267 | 37 | 16 | 36 | 1 | 20 | |||||||||
| Snaps 150 | Overall 25 | Cover 36 | LB | #49 | 150 | 25 | 5 | 36 | 5 | 72 | |||||||||
| Snaps 172 | Overall 22 | Cover 1 | LB | #57 | 172 | 22 | 30 | 1 | 34 | 48 | |||||||||

| Player | Pos | # | Snaps | Overall | Cover | Run Stuff | Blitz | Tackling | Ball Hawk | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Snaps 831 | Overall 57 | Cover 39 | S | #27 | 831 | 57 | 39 | 74 | 55 | 55 | 23 | ||||||||
| Snaps 662 | Overall 51 | Cover 37 | CB | #20 | 662 | 51 | 37 | 67 | 73 | 78 | 78 | ||||||||
| Snaps 823 | Overall 51 | Cover 42 | S | #06 | 823 | 51 | 42 | 46 | 88 | 49 | 11 | ||||||||
| Snaps 1,191 | Overall 45 | Cover 63 | CB | #02 | 1,191 | 45 | 63 | 10 | 58 | 28 | 24 | ||||||||
| Snaps 275 | Overall 33 | Cover 19 | CB | #28 | 275 | 33 | 19 | 93 | 1 | 52 | 33 | ||||||||
| Snaps 938 | Overall 27 | Cover 27 | CB | #00 | 938 | 27 | 27 | 28 | 1 | 88 | 72 | ||||||||
| Snaps 504 | Overall 17 | Cover 7 | S | #25 | 504 | 17 | 7 | 63 | 30 | 26 | 4 | ||||||||
| Snaps 98 | Overall 15 | Cover 11 | CB | #26 | 98 | 15 | 11 | 46 | 95 | 1 | 74 | ||||||||
| Snaps 480 | Overall 4 | Cover 2 | S | #36 | 480 | 4 | 2 | 57 | 35 | 77 | 44 | ||||||||

| Player | Pos | # | Snaps | Kicking | Accuracy | Range | Kickoff | Punting | Net | Air Time | Pin | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Snaps 32 | Accuracy 94 | Kicking 88 | K | #18 | 32 | 88 | 94 | 87 | 1 | - | - | - | - | ||||||
| Snaps 23 | Accuracy 7 | Kicking 44 | K | #14 | 23 | 44 | 7 | 11 | 3 | - | - | - | - | ||||||
| Snaps 48 | Punting 32 | Kicking - | P | #07 | 48 | - | - | - | - | 32 | 5 | 7 | 90 | ||||||