Career

4 seasons at 3 schools since 2014 · box-score totals, snap share estimated from play-by-play

SeasonTeamGSnapsRecRec ydsRec TDTgt share
2025Pittsburgh#31 · 8-51150%28301411.0%
2024Marshall#49 · 10-333%11103.3%
2023Kent State#133 · 1-111059%20188010.0%
2022Kent State#89 · 5-715%———3.4%

Past seasons are summed from ESPN box scores; success rates and snap shares come from the play-by-play. Justin Holmes's team rank is that season's final TDC rank. A dash means the stat wasn't recorded.

Game Log

Justin Holmes's box score, game by game, from ESPN, with a 0–10 game score for each (hover it for how it works). Click a result for the full game

6.4 avg. game scoreBest: 9.0 vs East Carolina (Bowls)1 of 11 games at 8.0+
Receiving
WkOpponentResultGame scoreRecYdsY/RTDLong
1DuquesneW 61–9—no stats recorded
2Central MichiganW 45–177.222512.5113
3@West VirginiaL 24–315.62147.009
5LouisvilleL 27–345.82178.5011
6Boston CollegeW 48–77.834013.3122
7@Florida StateW 34–312.3100.000
8@SyracuseW 30–13—no stats recorded
9NC StateW 53–346.122211.0019
10@StanfordW 35–206.94348.5014
12Notre DameL 15–375.72168.0012
13@Georgia TechW 42–286.811919.0119
14MiamiL 7–386.83144.716
BowlsvsEast CarolinaL 17–239.0610016.7023
2025 · 11 games6.42830110.8423
2025 charting · Pittsburgh

2025 season. ESPN's play-by-play only has throw and catch spots for part of 2025 (6 of Holmes’s games here), so treat the maps as a sample.

Charted targets
23
14 caught (61%)
Avg. depth of target
6.2
air yards per target
YAC per catch
5.6
79 yds after the catch
Air yards caught
95
of 174 yds on charted catches
Deep targets
0%
20+ air yards

Where he's targeted23 targets charted

64% comp6.2 avg. depth5.6 YAC/catch0% 20+ air yds4–0 TD–INT
101020203030LOSLeft, Behind air yards: noneLeft, 0–4 air yards: 3 targets (13%), 2 caught (67%), 24 yds, 8.0 per target367% · 24yLeft, 5–9 air yards: 2 targets (9%), 2 caught (100%), 25 yds, 12.5 per target2100% · 25yLeft, 10–14 air yards: 1 targets (4%), 1 caught (100%), 21 yds, 21.0 per target1100% · 21yLeft, 15–19 air yards: noneLeft, 20–29 air yards: noneLeft, 30+ air yards: noneMiddle, Behind air yards: noneMiddle, 0–4 air yards: 5 targets (22%), 3 caught (60%), 17 yds, 3.4 per target560% · 17yMiddle, 5–9 air yards: 1 targets (4%), 0 caught (0%), 0 yds, 0.0 per target10% · 0yMiddle, 10–14 air yards: 3 targets (13%), 1 caught (33%), 14 yds, 4.7 per target333% · 14yMiddle, 15–19 air yards: 3 targets (13%), 3 caught (100%), 62 yds, 20.7 per target3100% · 62yMiddle, 20–29 air yards: noneMiddle, 30+ air yards: noneRight, Behind air yards: 1 targets (4%), 1 caught (100%), 5 yds, 5.0 per target1100% · 5yRight, 0–4 air yards: 3 targets (13%), 1 caught (33%), 6 yds, 2.0 per target333% · 6yRight, 5–9 air yards: 1 targets (4%), 0 caught (0%), 0 yds, 0.0 per target10% · 0yRight, 10–14 air yards: noneRight, 15–19 air yards: noneRight, 20–29 air yards: noneRight, 30+ air yards: none
fewer more targets
Direction and air yards come from the play-by-play (left / middle / right thirds of the field), so each glow sits in its zone rather than on an exact spot. Hover a zone for detail.