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 · wide receivers

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.

146 in the league pool
Who · up to three, same position groupStart over
83
Josh ReynoldsWR · Jets · graded
✕
17
Xavier LegetteWR · Panthers · 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 146 wide receivers with 15 targets+League percentiles
Josh ReynoldsXavier Legette
Target shareof team targets
16%57th
14%52nd
Depth of targetair yards per target
13.176th
9.934th
After the catchyards per reception
1.32nd
2.110th
Catch ratereceptions per target
52%17th
55%25th
EPA per target
-0.129th
-0.0614th
First downsper target
19%0th
28%17th
Drop ratedrops per target, lower is better
0%92nd
3%60th
Yards per game
20.234th
24.241st

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 wide receiversamong 146 wide receivers
Josh ReynoldsXavier Legette
JoshWins before the catchNo screensDropback target
XavierStaticWins before the catchRed-zone guy
Deep sharetargets 20+ yards downfield
19%60th
12%25th
Screensshare of his targets
0%12th
6%60th
Middle of the fieldtargets between the numbers
24%69th
19%46th
After the catchshare of his yards after the catch
14%7th
21%22nd
Third-down shareof team targets on 3rd down
5%17th
13%61st
Red-zone shareof team targets inside the 20
3%15th
17%76th
Motiontargets with pre-snap motion
55%54th
25%1st
Play actiontargets off play action
9%12th
18%46th

Every trait is a share of his own targets, so volume does not move it. Each bar is the league's qualifying wide receivers; 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
Target shareDepthYACCatch rateEPA / tgtFirst downsDropsYds / game
Where he wins · EPA per target by lane and depthSame scale across
Josh Reynolds
Loading…
Xavier Legette
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 playsReceiving EPA

Xavier Legette gets the most from the ball in the air (+24.9 EPA), he gets the most after the catch (+6.9 EPA), and Xavier also gives the most back on targets he does not catch (−22.6).

Josh Reynolds−2.4
Xavier Legette−4.1
Air yardsAfter the catchIncompletionsInterceptionsTwo-point tries
PartJoshXavier
Air yardson catches+7.2+0.35 a target · 46th+24.9+0.39 a target · 54th
After the catch+2.6+0.13 a target · 9th+6.9+0.11 a target · 7th
Incompletionstargets not caught−7.7−0.37 a target · 31st−22.6−0.35 a target · 37th
Interceptionswhen targeted−5.7−0.27 a target · 11th−13.3−0.21 a target · 20th
Two-point triesnot in the rates+1.1–
Total−2.421 targets−4.164 targets

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. Bars share one scale, gains right of the line and losses left. The rate is per target, with its percentile among the league's qualifying wide receivers; the best rate in each row is green.

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

Josh Reynolds

Loading…

Xavier Legette

Loading…

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

On one field · every target, same fieldFilled is caught, a ring is not
Loading…
Depth butterfly · J.Reynolds and X.LegetteSolid 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 18
Josh ReynoldsXavier Legette

Targetslast 3 games

27
123456789101112131415161718
Josh 5.3Xavier 2.7

Rec yardslast 3 games

754
123456789101112131415161718
Josh 27.7Xavier 12.3

EPA / targetlast 3 games

-0.35+0.75
123456789101112131415161718
Josh -0.16Xavier +0.05

aDOTlast 3 games

6.314.6
123456789101112131415161718
Josh 13.6Xavier 9.3

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 54+ · dud under 7
J.Reynolds
18Wk 12Wk 23Wk 30Wk 429Wk 525Wk 629Wk 78Wk 89Wk 910Wk 1011Wk 1112Wk 1213Wk 1314Wk 1415Wk 1516Wk 1617Wk 1718Wk 1819Wk 1920Wk 2021Wk 2122Wk 22
20 ± 11
X.Legette
10Wk 1-2Wk 23Wk 34Wk 431Wk 511Wk 692Wk 717Wk 822Wk 90Wk 1083Wk 1122Wk 121Wk 1314Wk 1439Wk 1512Wk 163Wk 1722Wk 1819Wk 1920Wk 2021Wk 2122Wk 22
24 ± 27

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

Fantasy · points, rank and range, week by week
StandardJ.ReynoldsX.Legette
Points a game2.43.6WR74
Season12.1WR15554.3WR77
Most weeks1.4–3.30.3–4.9
Booms · busts0 · 512+ · under 52 · 1212+ · under 5
Half PPRJ.ReynoldsX.Legette
Points a game3.54.8WR72
Season17.6WR14971.8WR71
Most weeks2.2–4.80.8–5.9
Booms · busts0 · 516+ · under 6.52 · 1216+ · under 6.5
PPRJ.ReynoldsX.Legette
Points a game4.66.0WR68
Season23.1WR14889.3WR71
Most weeks3.0–6.31.3–6.9
Booms · busts0 · 520+ · under 81 · 1220+ · under 8

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.ReynoldsX.Legette
Wk 11810
Wk 2·-2
Wk 40·
Wk 52931
Wk 62511
Wk 72992
Wk 8·17
Wk 9·22
Wk 10·0
Wk 11·83
Wk 12·22
Wk 13·1
Wk 15·39
Wk 16·12
Wk 17·3
Wk 18·22
Season101363

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.ReynoldsX.Legette
Targets2164
Receptions1135
Yards101363
Touchdowns03
Target share16%64th14%71st
Depth of target13.136th9.997th
After the catch1.3144th2.1132nd
Catch rate52%121st55%110th
EPA per target-0.12133rd-0.06126th
First downs19%146th28%121st
Drop rate0%1st3%58th
Yards per game20.297th24.286th
Careers · receiving yards a game, season by seasonRegular season
Josh ReynoldsXavier Legette
25
20172019202120232025*
PlayerGRecYdsTDYds/gBest seasonThis season
Josh Reynolds2017 to 2025 · 9 seasons1062443,2282030.52020: 61838.6 a game20.2below his career rate
Xavier Legette2024 to 2025 · 2 seasons3084860728.72024: 49733.1 a game24.2below 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.