DOWN X DOWN › players › compare
Season over · final
2025
2025 season · final Every snap of the 2025 season, kept as it ended.Back to 2026 →

2025 season · compare · quarterbacks

Compare players

Two or three players of the same position, side by side: where each one grades against the league, where the ball finds each of them, and how their weeks line up.

56 in the league pool
Who · up to three, same position groupStart over
10
Justin HerbertQB · Chargers · graded

The address bar is the share link. Copy it, text it, post it: whoever opens it sees the same players. The Compare button on player pages builds on this set until you start over or switch positions.

Where they rank · among 56 quarterbacks with 50 attempts+League percentiles
Justin Herbert
EPA per dropback
+0.0353rd
CPOEcompletion over expected
+1.669th
Sack rateper dropback, lower is better
10%19th
Yards per attempt
7.372nd
TD rateper attempt
5%78th
INT rateper attempt, lower is better
3%35th
Depth of targetair yards per attempt
7.853rd
Rush EPA per game
+0.9972nd

Each bar is the league pool; the markers are the players. Right is better, the dashed line is the median. The best value in each row is marked green.

Playstyle · how each is used, against the league's quarterbacksamong 56 quarterbacks
Justin Herbert
JustinScrambler
Deep shareattempts 20+ yards downfield
13%63rd
Middle of the fieldattempts between the numbers
22%67th
Play actionshare of attempts
22%49th
RPOshare of dropbacks
1%21st
Scramblesshare of dropbacks
9%79th
Shotgunshare of dropbacks
85%62nd
Against the blitzEPA per dropback, blitzed minus not
+0.0658th
Motiondropbacks with pre-snap motion
52%44th

Every trait is a share of his own dropbacks, so volume does not move it. Each bar is the league's qualifying quarterbacks; the markers are the players and the thin line is the median. Styles are not grades: a high or low share describes the role, not how well he plays it. The tags are each player's traits furthest from the middle.

The shape · percentile radarBigger and rounder is more complete
EPA / DBCPOESacksY/ATD rateINT rateDepthRush EPA
Where he wins · EPA per throw by lane and depthSame scale across
Justin Herbert
Loading…

Green cells turn targets into points, red cells lose them. Cells with one target are left grey.

Where the EPA comes from · the season split by what happened on his playsPassing and rushing EPA
Justin Herbert+32.0
Air yardsAfter the catchIncompletionsInterceptionsSacksScramblesDesigned runsTwo-point tries
PartJustin
Air yardson completions+69.8+0.11 a dropback · 64th
After the catchhis share, catch to whistle+236.3+0.38 a dropback · 54th
Incompletionsspikes included−139.1−0.23 a dropback · 71st
Interceptions−66.5−0.11 a dropback · 37th
Sacks−84.4−0.14 a dropback · 24th
Scrambles+29.0+0.05 a dropback · 81st
Designed runskneels included−14.1 · 12th
Two-point triesnot in the rates+1.1
Total+32.0615 dropbacks

Every play is split by what happened: completions at the catch into air yards and yards after the catch (nflverse's air EPA), the cost of the ones that fell incomplete or were picked, sacks, scrambles and designed runs. Bars share one scale, gains right of the line and losses left. The rate is per dropback, with its percentile among the league's qualifying quarterbacks; the best rate in each row is green.

Where the ball finds them · same scale, same fieldloading plays

Justin Herbert

Loading…

Targets placed by air yards and side of the field, from each team's play file.

On one field · every throw, same fieldFilled is caught, a ring is not
Loading…
Depth butterfly · J.HerbertSolid is caught
Loading…

Back to back by depth band. The widest band is where the offense goes to him; the gap between solid and faded is where it misses.

The race · cumulative yardsFlat steps are byes
Week by week · groupedSame Sunday, side by side
The shape of their seasons · each one's last 3 games, week by weekWeeks 1 to 17
Justin Herbert

Dropbackslast 3 games

2538
1234567891011121314151617
Justin 33

Pass yardslast 3 games

150262
1234567891011121314151617
Justin 248.7

EPA / dropbacklast 3 games

-0.22+0.28
1234567891011121314151617
Justin +0.15

CPOElast 3 games

-5.5+6.9
1234567891011121314151617
Justin +8.4

Each line is a player's trailing 3 games (rates are pooled over the games, not averaged); the faint dots are single games. The shaded band is the league's middle half of single games at the position, the dashed line its median. A line that climbs out of the band is a role getting bigger.

Floor and ceiling · boom, solid or dud, week by weekBoom 262+ · dud under 150
J.Herbert
318Wk 1242Wk 2300Wk 3203Wk 4166Wk 5264Wk 6420Wk 7227Wk 8250Wk 9220Wk 1081Wk 1112Wk 12151Wk 13139Wk 14210Wk 15300Wk 16236Wk 1718Wk 1819Wk 1920Wk 2021Wk 2122Wk 22
233 ± 78

Thresholds are the quartiles of every game week by qualified quarterbacks this season (598 player weeks). The right column is the average week and its swing.

Fantasy · points, rank and range, week by week
StandardJ.Herbert
Points a game17.9QB10
Season286.9QB10
Most weeks12.5–27.7
Booms · busts5 · 225+ · under 12
Half PPRJ.Herbert
Points a game17.9QB10
Season286.9QB10
Most weeks12.5–27.7
Booms · busts5 · 225+ · under 12
PPRJ.Herbert
Points a game17.9QB10
Season286.9QB10
Most weeks12.5–27.7
Booms · busts5 · 225+ · under 12

Ranks are among players at each one's own position. A missing bar is a week he did not score: a bye or a missed game. The format you pick is remembered on this device.

Week by week · aligned
WeekJ.Herbert
Wk 1318
Wk 2242
Wk 3300
Wk 4203
Wk 5166
Wk 6264
Wk 7420
Wk 8227
Wk 9250
Wk 10220
Wk 1181
Wk 13151
Wk 14139
Wk 15210
Wk 16300
Wk 17236
Season3727

Rows are league weeks, so byes and missed games show as gaps. The best value each week is marked green.

Season stats · side by side, with league rank
SeasonJ.Herbert
Attempts512
Completions340
Pass yards3727
Touchdowns26
EPA per dropback+0.0327th
CPOE+1.618th
Sack rate10%46th
Yards per attempt7.316th
TD rate5%13th
INT rate3%37th
Depth of target7.827th
Rush EPA per game+0.9916th
Careers · passing yards a game, season by seasonRegular season
Justin Herbert
100200300
202020212022202320242025*
PlayerGAttYdsTDYds/gBest seasonThis season
Justin Herbert2020 to 2025 · 6 seasons953,43824,820163261.32021: 5,014294.9 a game232.9below his career rate

Regular season only, from each player's career file. * 2025 is through Week 22; its dot is hollow because the season is not over. "This season" compares this year's rate with his earlier seasons. Hover a dot for the season's line.