2026
2026 season · TE · #80 · 9th season
Ian Thomas
Age 30 · 6'3" · 253 lb · Indiana; Nassau CC · Pick 101 overall (2018). Listed TE3 on the 3WR 1TE depth chart. Snap share 35% across 8 games.
- How goodThomas has +7.7 EPA on 5 targets; percentiles arrive once he reaches 15 targets.
- Where it comes fromThe biggest share comes after the catch (+8.6).
- Fantasy1.5 standard points a game, TE56 of 109.1.8 half-PPR points a game, TE59 of 109.2.1 PPR points a game, TE62 of 109.
- How he's usedIan gets a fingerprint once he reaches 15 targets; the bars show his shares so far without a league percentile.
- LatelyTargets are steady: 0.3 a game over his last three against 0.6 for the season.
- This weekA tough matchup: the 49ers rank 4th vs TE, allowing -0.05 EPA per target to tight ends.
How good is hehis line against the league at his position
| Stat | Value | Rank | League | Pctl |
|---|---|---|---|---|
| Target shareof team targets | 3% | |||
| Depth of targetair yards per target | 5.0 | |||
| After the catchyards per reception | 7.0 | |||
| Catch ratereceptions per target | 100% | |||
| EPA per target | +1.54 |
| Stat | Value | Rank | League | Pctl |
|---|---|---|---|---|
| First downsper target | 80% | |||
| Drop ratedrops per target, lower is better | 0% | |||
| Yards per game | 7.5 | |||
| Success rate | 100% | |||
| Total EPA | +7.7 |
Graded once he reaches 15 targets. 45 tight ends qualify so far.
Thomas scores 1.5 standard points a game, TE56 of 109 TEs with enough games. Most weeks land between 0.0 and 1.0; 1 boom week (9+) and 7 busts (under 3). This week the 49ers allow the 8th-fewest standard points to TEs, 5.8 a game.
Thomas scores 1.8 half-PPR points a game, TE59 of 109 TEs with enough games. Most weeks land between 0.0 and 1.5; 0 boom weeks (12+) and 7 busts (under 4). This week the 49ers allow the 8th-fewest half-PPR points to TEs, 8.8 a game.
Thomas scores 2.1 PPR points a game, TE62 of 109 TEs with enough games. Most weeks land between 0.0 and 2.0; 0 boom weeks (15+) and 7 busts (under 5). This week the 49ers allow the 9th-fewest PPR points to TEs, 11.8 a game.
How this is measured
Fantasy points are nflverse's standard and full-PPR scoring (6 points for a rushing or receiving touchdown, 4 for a passing touchdown, minus 2 for an interception or a lost fumble); half PPR is the average of the two. Ranks are points a game among players at his position with at least half the most games played. Most weeks is his 20th to 80th percentile game. Bars are green on a boom week and red on a bust; the dashed line is the starter line, the points a game of the TE12 in a 12-team league. The format you pick is remembered on this device.
How he's usedhis fingerprint, where the ball finds him and when
Ian gets a fingerprint once he reaches 15 targets; the bars show his shares so far without a league percentile.
How this is measured
Every trait is a share of his own targets, so volume does not move it. The marker is him among the league's qualifying tight ends; the dashed line is the median. Styles are not grades: a high or low percentile is a description, not a verdict. Play action, screen, RPO, motion and blitz flags come from FTN charting and read low in a week it has not published.
Thomas has +7.7 EPA on 5 targets; percentiles arrive once he reaches 15 targets. The biggest share comes after the catch (+8.6).
career -0.13 over 2018–2022 · the best of his 6 seasons so far
How this is measured
Every target this season, split by what happened. Catches divide at the catch: the yards in the air and what came after. The percentile is him among the qualifying tight ends, higher is better, so a cost smaller than most ranks high. The parts add up to the totals above; the career strip counts seasons with at least 15 targets.
His targets spread much like the league's: no spot with five or more runs 15% above the league's share.
How this is measured
Every target with a charted depth and direction this season; sacks and throws with no charted direction are left out. Left and right are as the offense sees the field. Cells with fewer than three targets show no EPA.
On the field
By depth of target
Who he works withthe connection, and the rest of the huddle
By depth
Week by weekthe shape of his season, the game log and the defenses behind it
The game
Levi's Stadium
SF −10 · O/U 51.5
His history
First meeting this season
His status
A tough matchup: the 49ers rank 4th vs TE, allowing -0.05 EPA per target to tight ends. He has averaged 9 yards a game against top-10 defenses this season.
| Wk | Opponent | Defense | Snap | Tgt | Rec | Yds | TD | EPA |
|---|---|---|---|---|---|---|---|---|
| 1 | vs MIA W 27-1332nd D | 32nd vs TE | 46% | 0 | 0 | 0 | 0.0 | |
| 2 | at LAC W 26-1415th D | 15th vs TE | 49% | 1 | 1 | 11 | +0.7 | |
| 3 | at NO W 35-2728th D | 28th vs TE | 20% | 0 | 0 | 0 | 0.0 | |
| 4 | vs KC L 27-3014th D | 14th vs TE | 31% | 2 | 2 | 32 | 1 | +3.6 |
| 5 | at NE L 17-457th D | 7th vs TE | 40% | 1 | 1 | 9 | +1.5 | |
| 6 | vs BUF L 30-3322nd D | 22nd vs TE | 21% | 0 | 0 | 0 | 0.0 | |
| 7 | vs LA L 21-351st D | 1st vs TE | 26% | 1 | 1 | 8 | +1.9 | |
| 8 | at NYJ W 38-3321st D | 21st vs TE | 46% | 0 | 0 | 0 | 0.0 | |
| 9 | at SFSun Nov 8 · this week | |||||||
| 10 | vs SEASun Nov 15 | |||||||
| 11 | at DENSun Nov 22 | |||||||
| 12 | at CLESun Nov 29 | |||||||
| 13 | Bye week | |||||||
| 14 | vs LACSun Dec 13 | |||||||
| 15 | vs DENSun Dec 20 | |||||||
| 16 | vs TENSun Dec 27 | |||||||
| 17 | at ARISun Jan 3 | |||||||
| 18 | at KCSun Jan 10 | |||||||
| 8 games | 35% | 5 | 5 | 60 | 1 | +7.7 |
| Wk | Opponent | Defense | Tgt share | Air share | aDOT | YAC | EPA/tgt | 1D | Drops |
|---|---|---|---|---|---|---|---|---|---|
| 1 | vs MIA W 27-1332nd D | 32nd vs TE | 0% | 0% | - | 0 | - | 0 | |
| 2 | at LAC W 26-1415th D | 15th vs TE | 3% | 0% | 1.0 | 10 | +0.72 | 1 | |
| 3 | at NO W 35-2728th D | 28th vs TE | 0% | 0% | - | 0 | - | 0 | |
| 4 | vs KC L 27-3014th D | 14th vs TE | 4% | 5% | 12.5 | 7 | +1.78 | 2 | |
| 5 | at NE L 17-457th D | 7th vs TE | 3% | 2% | 4.0 | 5 | +1.53 | 1 | |
| 6 | vs BUF L 30-3322nd D | 22nd vs TE | 0% | 0% | - | 0 | - | 0 | |
| 7 | vs LA L 21-351st D | 1st vs TE | 2% | -2% | -5.0 | 13 | +1.89 | 0 | |
| 8 | at NYJ W 38-3321st D | 21st vs TE | 0% | 0% | - | 0 | - | 0 | |
| 9 | at SFSun Nov 8 · this week | ||||||||
| 10 | vs SEASun Nov 15 | ||||||||
| 11 | at DENSun Nov 22 | ||||||||
| 12 | at CLESun Nov 29 | ||||||||
| 13 | Bye week | ||||||||
| 14 | vs LACSun Dec 13 | ||||||||
| 15 | vs DENSun Dec 20 | ||||||||
| 16 | vs TENSun Dec 27 | ||||||||
| 17 | at ARISun Jan 3 | ||||||||
| 18 | at KCSun Jan 10 | ||||||||
| 8 games | 2% | 1% | 5.0 | 35 | +1.54 | 4 |
| Wk | Opponent | Defense | Rec | Yds | Y/R | TD | 20+ |
|---|---|---|---|---|---|---|---|
| 1 | vs MIA W 27-1332nd D | 32nd vs TE | 0 | 0 | - | ||
| 2 | at LAC W 26-1415th D | 15th vs TE | 1 | 11 | 11.0 | ||
| 3 | at NO W 35-2728th D | 28th vs TE | 0 | 0 | - | ||
| 4 | vs KC L 27-3014th D | 14th vs TE | 2 | 32 | 16.0 | 1 | 1 |
| 5 | at NE L 17-457th D | 7th vs TE | 1 | 9 | 9.0 | ||
| 6 | vs BUF L 30-3322nd D | 22nd vs TE | 0 | 0 | - | ||
| 7 | vs LA L 21-351st D | 1st vs TE | 1 | 8 | 8.0 | ||
| 8 | at NYJ W 38-3321st D | 21st vs TE | 0 | 0 | - | ||
| 9 | at SFSun Nov 8 · this week | ||||||
| 10 | vs SEASun Nov 15 | ||||||
| 11 | at DENSun Nov 22 | ||||||
| 12 | at CLESun Nov 29 | ||||||
| 13 | Bye week | ||||||
| 14 | vs LACSun Dec 13 | ||||||
| 15 | vs DENSun Dec 20 | ||||||
| 16 | vs TENSun Dec 27 | ||||||
| 17 | at ARISun Jan 3 | ||||||
| 18 | at KCSun Jan 10 | ||||||
| 8 games | 5 | 60 | 12.0 | 1 | 1 |
Targets are steady: 0.3 a game over his last three against 0.6 for the season. 8 straight games below a starter's median in targets. Week 8 was his season low in yards.
How this is measured
Bars are his week. The shaded band is the league's middle half at his position, every qualifying player-game this season, and the dashed line is its median. The solid line is his trailing three games. An × on the baseline is a game his team played without him; a dotted tick is the bye.
He has faced the 21st-toughest slate vs TE: his opponents rank 17.5 of 32 on average (league middle 16.8). Ahead: 3 of his next 9 are top-10 vs TE and 3 are bottom-10, starting with the 49ers (4th, away) in Week 9.
The slate · played solid, ahead dashed
His line by defense faced
| Defenses | G | Tgt/g | Yds/g | EPA/tgt |
|---|---|---|---|---|
| ranked 1 to 10Top-10 defenses | 2 | 1.0 | 9 | +1.71 |
| 11 to 22Middle | 4 | 0.8 | 11 | +1.43 |
| 23 to 32Bottom-10 | 2 | 0.0 | 0 | – |
| All games | 8 | 0.6 | 8 | +1.54 |
Yards against the rank of the defense
He has done more against the better defenses (r = -0.46).
Careerseason by season, back to his rookie year
His best year was 2018, 333 receiving yards in 10 games with CAR. This season's 15.0 a game puts him on pace for 255 over 17, short of it.
| Season | Team | G | Tgt | Rec | Yds | TD | Y/R | Yds/g | EPA/tgt |
|---|---|---|---|---|---|---|---|---|---|
| 2018 | CAR | 10 | 49 | 36 | 333 | 2 | 9.3 | 33.3 | -0.02 |
| 2019 | CAR | 10 | 30 | 16 | 136 | 1 | 8.5 | 13.6 | -0.13 |
| 2020 | CAR | 13 | 31 | 20 | 145 | 1 | 7.3 | 11.2 | -0.18 |
| 2021 | CAR | 14 | 30 | 18 | 188 | 0 | 10.4 | 13.4 | -0.53 |
| 2022 | CAR | 13 | 30 | 21 | 197 | 0 | 9.4 | 15.2 | +0.13 |
| 2023 | CAR | 8 | 9 | 5 | 56 | 0 | 11.2 | 7.0 | -0.85 |
| 2024 | CAR | 3 | 6 | 3 | 7 | 0 | 2.3 | 2.3 | -0.85 |
| 2025 | LV | 9 | 13 | 13 | 114 | 0 | 8.8 | 12.7 | +0.39 |
| 2026 | LV | 4 | 5 | 5 | 60 | 1 | 12.0 | 15.0 | +1.54 |
| Career | 2 tm | 84 | 203 | 137 | 1,236 | 5 | 9.0 | 14.7 | -0.11 |
How this is measured
Regular season only, from nflverse weekly stats back to 1999. This season is partial and drawn hollow; the pace is his per-game rate over 17 games. Bold cells are career highs.
Intel & playsthe report, his best snaps, his teammates
- Depth chart
- TE3 · 3WR 1TE
- Injury report
- Shoulder, full participation in practice
- Red zone touches
- …
- Third down
- …
- Explosive plays
- …
- Drops
- 0 on 5 targets
- Broken tackles
- 1
- Passer rating when targeted
- 118.8
- Play action
- …
- Contested
- …
| Player | Touches | Yds | EPA |
|---|---|---|---|
| 156 | 713 · 4 TD | -26.8 | |
| 71 | 289 · 1 TD | -10.2 | |
| 61 | 547 · 5 TD | +33.1 | |
| 50 | 468 · 4 TD | +19.2 | |
| 43 | 351 · 1 TD | +11.1 | |
| 24 | 113 · 1 TD | -1.3 | |
| 20 | 7 · 1 TD | -7.4 | |
| 19 | 112 · 3 TD | +3.1 |