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
19
Xavier HutchinsonWR · Texans · graded
✕
87
Xavier RestrepoWR · Titans · not yet qualified
✕

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
Xavier HutchinsonXavier Restrepo
Target shareof team targets
11%39th
--
Depth of targetair yards per target
10.238th
--
After the catchyards per reception
4.259th
--
Catch ratereceptions per target
61%47th
--
EPA per target
+0.2352nd
--
First downsper target
33%36th
--
Drop ratedrops per target, lower is better
5%41st
--
Yards per game
25.243rd
--

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
Xavier HutchinsonXavier Restrepo
XavierWorks the middlePlay-action targetRarely deep
Xaviernot graded yet
Deep sharetargets 20+ yards downfield
11%22nd
14%–
Screensshare of his targets
1%27th
0%–
Middle of the fieldtargets between the numbers
28%85th
71%–
After the catchshare of his yards after the catch
33%61st
22%–
Third-down shareof team targets on 3rd down
9%34th
1%–
Red-zone shareof team targets inside the 20
9%50th
2%–
Motiontargets with pre-snap motion
53%46th
29%–
Play actiontargets off play action
24%80th
0%–

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

Xavier Restrepo is not graded yet, so no shape.

Where he wins · EPA per target by lane and depthSame scale across
Xavier Hutchinson
Loading…
Xavier Restrepo
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 Hutchinson gets the most from the ball in the air (+15.8 EPA), he gets the most after the catch (+17.0 EPA), and Xavier also gives the most back on targets he does not catch (−16.4).

Xavier Hutchinson+12.9
Xavier Restrepo+3.0
Air yardsAfter the catchIncompletionsInterceptions
PartXavierXavier
Air yardson catches+15.8+0.28 a target · 35th+3.2+0.46 a target
After the catch+17.0+0.30 a target · 58th+1.7+0.25 a target
Incompletionstargets not caught−16.4−0.29 a target · 59th−1.9−0.27 a target
Interceptionswhen targeted−3.5−0.06 a target · 63rd0.00.00 a target
Total+12.957 targets+3.07 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

Xavier Hutchinson

Loading…

Xavier Restrepo

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 · X.Hutchinson and X.RestrepoSolid 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
Xavier HutchinsonXavier Restrepo

Targetslast 3 games

27
123456789101112131415161718
Xavier 4.7Xavier 3.5

Rec yardslast 3 games

754
123456789101112131415161718
Xavier 36.3Xavier 20.5

EPA / targetlast 3 games

-0.35+0.75
123456789101112131415161718
Xavier +0.08Xavier +0.44

aDOTlast 3 games

6.314.6
123456789101112131415161718
Xavier 8.9Xavier 11.0

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
X.Hutchinson
30Wk 129Wk 216Wk 317Wk 418Wk 56Wk 613Wk 769Wk 830Wk 90Wk 1042Wk 110Wk 1239Wk 130Wk 1416Wk 154Wk 1621Wk 1784Wk 1819Wk 1920Wk 2021Wk 2122Wk 22
25 ± 23
X.Restrepo
1Wk 12Wk 23Wk 34Wk 45Wk 56Wk 67Wk 78Wk 89Wk 910Wk 1011Wk 1126Wk 1215Wk 1314Wk 1415Wk 1516Wk 1617Wk 1718Wk 1819Wk 1920Wk 2021Wk 2122Wk 22
21 ± 6

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
StandardX.HutchinsonX.Restrepo
Points a game3.7WR732.1
Season63.0WR654.1WR186
Most weeks1.0–4.1–
Booms · busts2 · 1412+ · under 50 · 212+ · under 5
Half PPRX.HutchinsonX.Restrepo
Points a game4.7WR742.8
Season80.5WR635.6WR188
Most weeks1.1–5.5–
Booms · busts0 · 1416+ · under 6.50 · 216+ · under 6.5
PPRX.HutchinsonX.Restrepo
Points a game5.8WR723.6
Season98.0WR647.1WR186
Most weeks1.6–7.0–
Booms · busts0 · 1420+ · under 80 · 220+ · 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
WeekX.HutchinsonX.Restrepo
Wk 130·
Wk 229·
Wk 316·
Wk 417·
Wk 518·
Wk 713·
Wk 869·
Wk 930·
Wk 10··
Wk 1142·
Wk 12026
Wk 133915
Wk 140·
Wk 1516·
Wk 164·
Wk 1721·
Wk 1884·
Season42841

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
SeasonX.HutchinsonX.Restrepo
Targets577
Receptions353
Yards42841
Touchdowns30
Target share11%89th-
Depth of target10.291st-
After the catch4.261st-
Catch rate61%78th-
EPA per target+0.2371st-
First downs33%92nd-
Drop rate5%86th-
Yards per game25.284th-
Careers · receiving yards a game, season by seasonRegular season
Xavier HutchinsonXavier Restrepo
25
202320242025*
PlayerGRecYdsTDYds/gBest seasonThis season
Xavier Hutchinson2023 to 2025 · 3 seasons4255635315.12024: 1178.4 a game26.8above his career rate
Xavier Restrepo2025 to 2025 · 1 season2341020.52025: 4120.5 a game20.5first season

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.