Quarterback, UTSA, 2017–23
Frank Harris
- Height
- 6′0″
- Weight
- 205 lb
- Class (2023)
- Senior
- Hometown
- Schertz, TX
- Born
- Mar 27, 1999, in San Antonio, Texas
Wikipedia readers: about 377 a month over the past year
Frank Harris played quarterback at UTSA (2017–23).
At a glance
Career highs
414passing yards, best game on fileat Middle Tennessee, 20226touchdown passes, best game on fileat Western Kentucky, 2021124rushing yards, best game on fileat Rice, 20223rushing touchdowns, best game on filethree times; last vs. South Florida, 2023Honors
Team titles: Conference USA champions, 2021 and 2022
Players of the year, conference and regional honors: Wikipedia’s lists (CC BY-SA), each linked from its honor.
Passing
Rushing
Season lines from CollegeFootballData, regular season and bowls.
On the roster
| Season | Team | Pos | Class | Ht | Wt |
|---|---|---|---|---|---|
| 2018 | UTSA | QB | Yr 1 | ||
| 2019 | UTSA | QB | Yr 2 | ||
| 2020 | UTSA | QB | Yr 3 | ||
| 2021 | UTSA | QB | Yr 4 | ||
| 2022 | UTSA | QB | Yr 5 | ||
| 2023 | UTSA | QB | Sr. (Yr 6) | 6′0″ | 205 |
As each season’s roster listed the player (CollegeFootballData). Classes before the latest listing are counted back from it; “Yr 1” is the year on file where that count can’t place a season he played (a redshirt, transfer or 2020 year); height and weight as last listed.
Per play
| Season | Team | Plays | EPA/play | Pctile | Median | Total | Usage | Adj. pass | Adj. rush |
|---|---|---|---|---|---|---|---|---|---|
| 2019 | UTSA | 130 | 0.06 | – | – | 7.6 | 44% | 0.19 | – |
| 2020 | UTSA | 342 | 0.24 | 42nd (n=116) | 0.27 | 81.8 | 43% | 0.24 | 0.24 |
| 2021 | UTSA | 495 | 0.44 | 85th (n=145) | 0.33 | 217.9 | 50% | 0.54 | 0.44 |
| 2022 | UTSA | 572 | 0.47 | 90th (n=250) | 0.32 | 266.0 | 56% | 0.47 | 0.41 |
| 2023 | UTSA | 412 | 0.38 | 64th (n=255) | 0.32 | 154.8 | 55% | 0.41 | 0.24 |
Expected points added: how much the player’s plays moved the team’s expected score, per play and in total. Plays: total EPA divided by EPA per play, the plays the source credits to him (for a receiver roughly his catches and runs, not every target; for a passer, not every attempt), so it can differ from attempts plus carries. Percentile: against the position’s regulars that season across all divisions on file (quarterbacks with 150+ plays, backs 60+, receivers and tight ends 30+), with how many there were (n) and their median; a dash means too few plays to rank. A season in progress uses the full-season bar scaled by games played, never below 75 plays for quarterbacks, 30 for backs and 20 for receivers. The cohort grows or shrinks with the source’s coverage each season (2025 lists far more players), so compare percentiles rather than raw EPA across years. FCS seasons are marked. Usage: the share of the team’s plays the player was part of (shown from 20 plays). Adjusted pass and rush: EPA per play adjusted for the defenses faced (CollegeFootballData’s WEPA). From CollegeFootballData, 2013 on.
Game by game
2023 UTSA 10 games, 2,506 passing yards, 18 TD
| Date | Opponent | Result | Cmp | Att | Yds | TD | Int | Rush |
|---|---|---|---|---|---|---|---|---|
| Sep 2 | at | L 14–17 | 18 | 36 | 209 | 1 | 3 | 45 |
| Sep 9 | vs. | W 20–13 | 26 | 37 | 214 | 1 | 0 | 15 |
| Oct 7 | at | W 49–34 | 25 | 33 | 338 | 3 | 0 | 8 |
| Oct 14 | vs. | W 41–20 | 19 | 30 | 171 | 2 | 0 | 7 |
| Oct 21 | at | W 36–10 | 26 | 35 | 261 | 2 | 2 | 19 |
| Oct 28 | vs. | W 41–27 | 20 | 32 | 395 | 4 | 1 | 5 |
| Nov 4 | at | W 37–29 | 13 | 25 | 134 | 0 | 0 | 53 |
| Nov 11 | vs. | W 34–14 | 15 | 24 | 175 | 1 | 0 | 31 |
| Nov 17 | vs. | W 49–21 | 31 | 46 | 411 | 3 | 0 | 112 |
| Nov 24 | at | L 16–29 | 25 | 38 | 198 | 1 | 2 | 28 |
2022 UTSA 14 games, 4,059 passing yards, 32 TD
| Date | Opponent | Result | Cmp | Att | Yds | TD | Int | Rush |
|---|---|---|---|---|---|---|---|---|
| Sep 3 | vs. | L 35–37 | 28 | 43 | 337 | 3 | 1 | 63 |
| Sep 10 | at | W 41–38 | 32 | 45 | 359 | 3 | 0 | 30 |
| Sep 17 | at | L 20–41 | 24 | 35 | 222 | 0 | 1 | 38 |
| Sep 24 | vs. | W 52–24 | 20 | 31 | 392 | 4 | 0 | 31 |
| Sep 30 | at | W 45–30 | 27 | 36 | 414 | 2 | 3 | 31 |
| Oct 8 | vs. | W 31–28 | 24 | 35 | 273 | 1 | 0 | 61 |
| Oct 14 | at | W 30–10 | 24 | 35 | 303 | 2 | 0 | −10 |
| Oct 22 | vs. | W 31–27 | 27 | 39 | 238 | 2 | 1 | 75 |
| Nov 5 | at | W 44–38 | 22 | 31 | 285 | 4 | 0 | 35 |
| Nov 12 | vs. | W 51–7 | 18 | 26 | 216 | 1 | 0 | 47 |
| Nov 19 | at | W 41–7 | 11 | 14 | 103 | 2 | 1 | 124 |
| Nov 26 | vs. | W 34–31 | 16 | 22 | 382 | 3 | 0 | 14 |
| Dec 2 | vs. | W 48–27 | 32 | 37 | 341 | 4 | 0 | 49 |
| Dec 16 ✦ | vs. | L 12–18 | 23 | 42 | 194 | 1 | 2 | 12 |
2021 UTSA 14 games, 3,177 passing yards, 27 TD
| Date | Opponent | Result | Cmp | Att | Yds | TD | Int | Rush |
|---|---|---|---|---|---|---|---|---|
| Sep 4 | at | W 37–30 | 20 | 32 | 280 | 1 | 0 | 33 |
| Sep 11 | vs. | W 54–0 | 13 | 15 | 118 | 0 | 0 | 3 |
| Sep 18 | vs. | W 27–13 | 24 | 39 | 264 | 2 | 2 | 56 |
| Sep 25 | at | W 31–28 | 18 | 28 | 186 | 1 | 0 | −1 |
| Oct 2 | vs. | W 24–17 | 24 | 30 | 278 | 2 | 0 | 22 |
| Oct 9 | at | W 52–46 | 28 | 38 | 349 | 6 | 1 | 51 |
| Oct 16 | vs. | W 45–0 | 12 | 19 | 125 | 2 | 0 | 47 |
| Oct 23 | at | W 45–16 | 12 | 19 | 193 | 2 | 0 | 59 |
| Nov 6 | at | W 44–23 | 22 | 34 | 286 | 2 | 0 | 76 |
| Nov 13 | vs. | W 27–17 | 17 | 30 | 227 | 2 | 2 | 54 |
| Nov 20 | vs. | W 34–31 | 25 | 36 | 323 | 3 | 0 | −13 |
| Nov 27 | at | L 23–45 | 7 | 14 | 59 | 0 | 0 | 97 |
| Dec 3 | vs. | W 49–41 | 19 | 28 | 218 | 2 | 0 | 81 |
| Dec 21 ✦ | vs. | L 24–38 | 22 | 36 | 271 | 2 | 1 | 1 |
2020 UTSA 11 games, 1,630 passing yards, 12 TD
| Date | Opponent | Result | Cmp | Att | Yds | TD | Int | Rush |
|---|---|---|---|---|---|---|---|---|
| Sep 12 | at | W 51–48 | 23 | 31 | 169 | 1 | 0 | 52 |
| Sep 19 | vs. | W 24–10 | 23 | 36 | 269 | 1 | 1 | 104 |
| Sep 25 | vs. | W 37–35 | 7 | 13 | 70 | 1 | 0 | 7 |
| Oct 10 | at | L 20–27 | 7 | 13 | 58 | 0 | 1 | 4 |
| Oct 17 | vs. | L 16–28 | 3 | 8 | 31 | 1 | 0 | 21 |
| Oct 24 | vs. | W 27–26 | 18 | 33 | 189 | 0 | 2 | 5 |
| Oct 31 | at | L 3–24 | 12 | 26 | 109 | 0 | 0 | 66 |
| Nov 14 | vs. | W 52–21 | 22 | 26 | 312 | 3 | 0 | 43 |
| Nov 21 | at | W 23–20 | 12 | 19 | 71 | 1 | 1 | 23 |
| Nov 28 | vs. | W 49–17 | 19 | 24 | 144 | 2 | 0 | 113 |
| Dec 26 ✦ | vs. | L 24–31 | 13 | 21 | 208 | 2 | 1 | 91 |
2019 UTSA 4 games, 486 passing yards, 3 TD
| Date | Opponent | Result | Cmp | Att | Yds | TD | Int | Rush |
|---|---|---|---|---|---|---|---|---|
| Aug 31 | vs. | W 35–7 | 28 | 36 | 206 | 3 | 1 | 123 |
| Sep 7 | at | L 14–63 | 15 | 24 | 93 | 0 | 0 | 3 |
| Sep 14 | vs. | L 13–31 | 23 | 31 | 187 | 0 | 1 | 1 |
| Sep 21 | at | L 3–45 | – | – | – | – | – | −1 |
Box scores from CollegeFootballData, 2004 on. ✦ postseason; ★ a career high on file.
Is this you, or do you know of something wrong or missing here? Suggest a correction. We check each one against a source before changing the page.
