Twelve months removed from the Super Bowl, San Francisco fell apart at 6-11 in the most injury-decimated season of Kyle Shanahan's tenure. Christian McCaffrey missed most of the year with bilateral Achilles tendinitis and a PCL sprain, Brandon Aiyuk tore his ACL midseason, and Brock Purdy missed time with shoulder and elbow issues. The offensive line, hit hard by Trent Williams's injuries, never stabilised.
Nick Bosa and Fred Warner remained the team's anchors, but the defense couldn't carry the load. The 49ers head into 2025 with Purdy's extension as the central question and a roster that suddenly looks older than it did a year earlier.

| Player | Pos | # | Snaps | Overall | Arm | Accuracy | Clutch | Ball Security | Release Speed | Scramble | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Snaps 944 | Overall 82 | Accuracy 40 | QB | #13 | 944 | 82 | 69 | 40 | 28 | 50 | 29 | 83 | |||||||
| Snaps 81 | Overall 10 | Accuracy 48 | QB | #05 | 81 | 10 | 18 | 48 | 1 | 1 | - | - | |||||||
| Snaps 54 | Overall 1 | Accuracy 8 | QB | #17 | 54 | 1 | 2 | 8 | 1 | 1 | - | - | |||||||

| Player | Pos | # | Snaps | Overall | Rush | Power | Burst | Receiving | Blocking | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Snaps 378 | Overall 38 | Rush 53 | RB | #24 | 378 | 38 | 53 | 84 | 90 | 18 | 36 | ||||||||
| Snaps 167 | Overall 33 | Rush 23 | RB | #23 | 167 | 33 | 23 | 33 | 39 | 93 | 79 | ||||||||
| Snaps 227 | Overall 14 | Rush 21 | RB | #31 | 227 | 14 | 21 | 60 | 94 | 84 | 17 | ||||||||
| Snaps 537 | Overall 10 | Rush 2 | RB | #44 | 537 | 10 | 2 | 55 | 4 | 42 | 87 | ||||||||
| Snaps 172 | Overall 8 | Rush 28 | RB | #32 | 172 | 8 | 28 | 62 | 32 | 5 | 64 | ||||||||

| Player | Pos | # | Snaps | Overall | Route Running | Separation | Hands | YAC | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Snaps 689 | Overall 93 | Route Running 94 | WR | #15 | 689 | 93 | 94 | 89 | 64 | 24 | |||||||||
| Snaps 357 | Overall 81 | Route Running 79 | WR | #11 | 357 | 81 | 79 | 68 | 19 | 57 | |||||||||
| Snaps 682 | Overall 71 | Route Running 74 | WR | #01 | 682 | 71 | 74 | 57 | 33 | 96 | |||||||||
| Snaps 455 | Overall 47 | Route Running 47 | WR | #14 | 455 | 47 | 47 | 42 | 82 | 38 | |||||||||
| Snaps 106 | Overall 41 | Route Running 42 | WR | #19 | 106 | 41 | 42 | 36 | 97 | 90 | |||||||||
| Snaps 239 | Overall 33 | Route Running 24 | WR | #18 | 239 | 33 | 24 | 7 | 97 | 38 | |||||||||
| Snaps 113 | Overall 4 | Route Running 4 | WR | #10 | 113 | 4 | 4 | 2 | 1 | 3 | |||||||||

| Player | Pos | # | Snaps | Overall | Receiving | Separation | Hands | Pass Pro | Run Block | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Snaps 808 | Overall 100 | Receiving 100 | TE | #85 | 808 | 100 | 100 | 99 | 61 | 48 | 86 | ||||||||
| Snaps 34 | Overall 35 | Run Block 95 | TE | #88 | 34 | 35 | - | - | - | - | 95 | ||||||||
| Snaps 377 | Overall 10 | Receiving 7 | TE | #82 | 377 | 10 | 7 | 9 | 87 | 6 | 70 | ||||||||
| Snaps 25 | Overall 1 | Receiving 1 | TE | #09 | 25 | 1 | 1 | 1 | 1 | 2 | 32 | ||||||||

| Player | Pos | # | Snaps | Overall | Pass Pro | Drive | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Snaps 649 | Overall 99 | Pass Pro 98 | OT | #71 | 649 | 99 | 98 | 97 | |||||||||||
| Snaps 1,078 | Overall 95 | Pass Pro 68 | OG | #77 | 1,078 | 95 | 68 | 97 | |||||||||||
| Snaps 271 | Overall 84 | Pass Pro 80 | OT | #76 | 271 | 84 | 80 | 85 | |||||||||||
| Snaps 65 | Overall 84 | Pass Pro 82 | OG | #78 | 65 | 84 | 82 | 87 | |||||||||||
| Snaps 1,062 | Overall 77 | Pass Pro 79 | OT | #68 | 1,062 | 77 | 79 | 82 | |||||||||||
| Snaps 775 | Overall 55 | Pass Pro 40 | OG | #65 | 775 | 55 | 40 | 83 | |||||||||||
| Snaps 1,072 | Overall 53 | Pass Pro 30 | C | #64 | 1,072 | 53 | 30 | 87 | |||||||||||
| Snaps 162 | Overall 36 | Pass Pro 90 | OG | #63 | 162 | 36 | 90 | 23 | |||||||||||
| Snaps 113 | Overall 34 | Pass Pro 51 | OG | #74 | 113 | 34 | 51 | 27 | |||||||||||
| Snaps 67 | Overall 20 | Pass Pro 20 | OT | #62 | 67 | 20 | 20 | 35 | |||||||||||
| Snaps 117 | Overall 12 | Pass Pro 18 | OT | #75 | 117 | 12 | 18 | 5 | |||||||||||

| Player | Pos | # | Snaps | Overall | Pass Rush | Run Stuff | Hurry | Tackling | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Snaps 693 | Overall 98 | Pass Rush 96 | EDGE | #97 | 693 | 98 | 96 | 91 | 97 | 23 | |||||||||
| Snaps 267 | Overall 44 | Pass Rush 46 | DT | #69 | 267 | 44 | 46 | 39 | 32 | 89 | |||||||||
| Snaps 104 | Overall 44 | Pass Rush 76 | DT | #98 | 104 | 44 | 76 | 11 | 97 | 26 | |||||||||
| Snaps 715 | Overall 36 | Pass Rush 67 | DT | #99 | 715 | 36 | 67 | 9 | 84 | 4 | |||||||||
| Snaps 25 | Overall 20 | Pass Rush 7 | EDGE | #58 | 25 | 20 | 7 | 49 | 1 | 77 | |||||||||
| Snaps 149 | Overall 17 | Pass Rush 10 | EDGE | #51 | 149 | 17 | 10 | 31 | 3 | 45 | |||||||||
| Snaps 209 | Overall 28 | Pass Rush 10 | DT | #50 | 209 | 28 | 10 | 33 | 66 | 22 | |||||||||
| Snaps 604 | Overall 13 | Pass Rush 15 | EDGE | #56 | 604 | 13 | 15 | 27 | 66 | 49 | |||||||||
| Snaps 451 | Overall 10 | Pass Rush 41 | EDGE | #91 | 451 | 10 | 41 | 18 | 39 | 40 | |||||||||
| Snaps 367 | Overall 8 | Pass Rush 31 | EDGE | #94 | 367 | 8 | 31 | 13 | 48 | 13 | |||||||||
| Snaps 185 | Overall 18 | Pass Rush 63 | DT | #90 | 185 | 18 | 63 | 5 | 83 | 25 | |||||||||
| Snaps 440 | Overall 15 | Pass Rush 15 | DT | #92 | 440 | 15 | 15 | 24 | 13 | 18 | |||||||||
| Snaps 259 | Overall 15 | Pass Rush 21 | DT | #93 | 259 | 15 | 21 | 9 | 4 | 27 | |||||||||

| Player | Pos | # | Snaps | Overall | Run Stuff | Cover | Blitz | Tackling | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Snaps 997 | Overall 99 | Cover 99 | LB | #54 | 997 | 99 | 93 | 99 | 47 | 61 | |||||||||
| Snaps 34 | Overall 95 | Cover 56 | LB | #57 | 34 | 95 | 96 | 56 | 1 | 95 | |||||||||
| Snaps 52 | Overall 83 | Cover 88 | LB | #48 | 52 | 83 | 35 | 88 | 56 | 50 | |||||||||
| Snaps 37 | Overall 81 | Cover 71 | LB | #41 | 37 | 81 | 69 | 71 | 11 | 94 | |||||||||
| Snaps 398 | Overall 71 | Cover 93 | LB | #53 | 398 | 71 | 21 | 93 | 3 | 64 | |||||||||
| Snaps 719 | Overall 53 | Cover 41 | LB | #59 | 719 | 53 | 35 | 41 | 10 | 32 | |||||||||
| Snaps 151 | Overall 9 | Cover 1 | LB | #45 | 151 | 9 | 8 | 1 | 29 | 1 | |||||||||

| Player | Pos | # | Snaps | Overall | Cover | Run Stuff | Blitz | Tackling | Ball Hawk | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Snaps 139 | Overall 76 | Cover 66 | S | #30 | 139 | 76 | 66 | 71 | 1 | 50 | 100 | ||||||||
| Snaps 675 | Overall 73 | Cover 84 | CB | #00 | 675 | 73 | 84 | 14 | 1 | 56 | 98 | ||||||||
| Snaps 922 | Overall 65 | Cover 77 | CB | #02 | 922 | 65 | 77 | 56 | 1 | 56 | 80 | ||||||||
| Snaps 886 | Overall 60 | Cover 74 | S | #27 | 886 | 60 | 74 | 25 | 2 | 33 | 68 | ||||||||
| Snaps 755 | Overall 57 | Cover 44 | S | #06 | 755 | 57 | 44 | 61 | 73 | 64 | 50 | ||||||||
| Snaps 57 | Overall 55 | Cover 45 | S | #43 | 57 | 55 | 45 | 84 | 1 | 97 | 100 | ||||||||
| Snaps 488 | Overall 42 | Cover 29 | CB | #22 | 488 | 42 | 29 | 84 | 1 | 67 | 61 | ||||||||
| Snaps 308 | Overall 36 | Cover 21 | S | #29 | 308 | 36 | 21 | 82 | 34 | 71 | 5 | ||||||||
| Snaps 694 | Overall 31 | Cover 37 | CB | #07 | 694 | 31 | 37 | 16 | 1 | 78 | 67 | ||||||||
| Snaps 224 | Overall 19 | Cover 11 | CB | #35 | 224 | 19 | 11 | 44 | 86 | 33 | 5 | ||||||||
| Snaps 63 | Overall 8 | Cover 18 | CB | #33 | 63 | 8 | 18 | 16 | 1 | 83 | 100 | ||||||||

| Player | Pos | # | Snaps | Kicking | Accuracy | Kickoff | Range | Punting | Net | Air Time | Pin | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Snaps 1 | Accuracy 98 | Kicking 40 | K | #03 | 1 | 40 | 98 | 40 | - | - | - | - | - | ||||||
| Snaps 34 | Accuracy 14 | Kicking 20 | K | #04 | 34 | 20 | 14 | 2 | 22 | - | - | - | - | ||||||
| Snaps 24 | Punting 36 | Kicking - | P | #40 | 24 | - | - | - | - | 36 | 24 | 16 | 22 | ||||||