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 · tight ends

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.

72 in the league pool
Who · up to three, same position groupStart over
88
Charlie KolarTE · Ravens · graded
✕
84
Josh OliverTE · Vikings · 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 72 tight ends with 15 targets+League percentiles
Charlie KolarJosh Oliver
Target shareof team targets
5%1st
7%22nd
Depth of targetair yards per target
7.169th
3.410th
After the catchyards per reception
5.253rd
6.887th
Catch ratereceptions per target
67%17th
79%80th
EPA per target
+0.3466th
+0.5587th
First downsper target
60%98th
47%85th
Drop ratedrops per target, lower is better
0%91st
0%91st
Yards per game
8.49th
10.720th

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 tight endsamong 72 tight ends
Charlie KolarJosh Oliver
CharlieWorks the middlePlay-action targetNo screens
JoshStays outsideNot the third-down optionPlay-action target
Deep sharetargets 20+ yards downfield
0%12th
0%12th
Screensshare of his targets
0%10th
5%51st
Middle of the fieldtargets between the numbers
53%99th
11%5th
After the catchshare of his yards after the catch
37%18th
64%77th
Third-down shareof team targets on 3rd down
2%15th
1%5th
Red-zone shareof team targets inside the 20
5%23rd
9%43rd
Motiontargets with pre-snap motion
67%88th
45%18th
Play actiontargets off play action
73%98th
60%92nd

Every trait is a share of his own targets, so volume does not move it. Each bar is the league's qualifying tight ends; 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
Charlie Kolar
Loading…
Josh Oliver
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

Charlie Kolar gets the most from the ball in the air (+7.1 EPA), Josh Oliver gets the most after the catch (+15.5 EPA), and Josh also gives the most back on targets he does not catch (−2.6).

Charlie Kolar+5.2
Josh Oliver+10.5
Air yardsAfter the catchIncompletionsInterceptionsTwo-point tries
PartCharlieJosh
Air yardson catches+7.1+0.47 a target · 95th−1.5−0.08 a target · 26th
After the catch+6.4+0.43 a target · 35th+15.5+0.82 a target · 95th
Incompletionstargets not caught−2.5−0.17 a target · 70th−2.6−0.13 a target · 85th
Interceptionswhen targeted−5.8−0.39 a target · 5th0.00.00 a target · 73rd
Two-point triesnot in the rates–−0.9
Total+5.215 targets+10.519 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 tight ends; the best rate in each row is green.

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

Charlie Kolar

Loading…

Josh Oliver

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 · C.Kolar and J.OliverSolid 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
Charlie KolarJosh Oliver

Targetslast 3 games

15
123456789101112131415161718
Charlie 0.7Josh 2.3

Rec yardslast 3 games

538
123456789101112131415161718
Charlie 6Josh 18.7

EPA / targetlast 3 games

-0.24+0.76
123456789101112131415161718
Charlie +0.42Josh +0.48

aDOTlast 3 games

3.08.7
123456789101112131415161718
Charlie 6.5Josh 3.1

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 38+ · dud under 5
C.Kolar
0Wk 10Wk 222Wk 30Wk 410Wk 50Wk 67Wk 710Wk 823Wk 923Wk 100Wk 110Wk 1217Wk 1319Wk 140Wk 1518Wk 160Wk 170Wk 1819Wk 1920Wk 2021Wk 2122Wk 22
8 ± 9
J.Oliver
5Wk 10Wk 212Wk 30Wk 435Wk 56Wk 69Wk 70Wk 89Wk 910Wk 10-3Wk 114Wk 120Wk 1324Wk 1418Wk 1519Wk 168Wk 1729Wk 1819Wk 1920Wk 2021Wk 2122Wk 22
11 ± 11

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

Fantasy · points, rank and range, week by week
StandardC.KolarJ.Oliver
Points a game1.5TE582.7TE42
Season26.2TE5540.0TE43
Most weeks0.0–2.10.0–3.8
Booms · busts0 · 159+ · under 32 · 129+ · under 3
Half PPRC.KolarJ.Oliver
Points a game1.8TE613.2TE44
Season31.2TE5947.5TE48
Most weeks0.0–2.70.0–4.7
Booms · busts0 · 1512+ · under 41 · 1212+ · under 4
PPRC.KolarJ.Oliver
Points a game2.1TE653.7TE50
Season36.2TE6255.0TE49
Most weeks0.0–3.20.0–5.6
Booms · busts0 · 1515+ · under 51 · 1215+ · under 5

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
WeekC.KolarJ.Oliver
Wk 1·5
Wk 2··
Wk 32212
Wk 4·0
Wk 51035
Wk 60·
Wk 7·9
Wk 810·
Wk 923·
Wk 1023·
Wk 110-3
Wk 1204
Wk 1317·
Wk 141924
Wk 15018
Wk 161819
Wk 1708
Wk 18·29
Season142160

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
SeasonC.KolarJ.Oliver
Targets1519
Receptions1015
Yards142160
Touchdowns24
Target share5%71st7%57th
Depth of target7.123rd3.465th
After the catch5.233rd6.810th
Catch rate67%60th79%15th
EPA per target+0.3425th+0.5510th
First downs60%2nd47%11th
Drop rate0%1st0%1st
Yards per game8.466th10.758th
Careers · receiving yards a game, season by seasonRegular season
Charlie KolarJosh Oliver
2550
201920212022202320242025*
PlayerGRecYdsTDYds/gBest seasonThis season
Charlie Kolar2022 to 2025 · 4 seasons3330409412.42024: 13113.1 a game10.9below his career rate
Josh Oliver2019 to 2025 · 6 seasons63858611113.72024: 25821.5 a game13.3below 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.