J. Swift · career
John David Swift
Attacking · Portsmouth · season-by-season, by competition, and every match.
Career report
Past his 2021/22 peak — the recent trend is downward, so buyers are paying for what's left, not what was.
Peak: 2021/22Trending downBreakout: 2021/22
The record covers 6 seasons (2020/21–2025/26) across 3 clubs — 201 appearances, 33 goals and 28 assists.
His best campaign on record is 2021/22 at Reading — Season rating 54, 11 goals and 13 assists in 38 games. 2021/22 was the leap — Season rating up 45 points at Reading. Form has slipped 11 Season points across his last 3 full seasons. The gap to his peak is 38 Season points.
By season
| Season | Club | Apps | G | A | Rating | Season |
|---|---|---|---|---|---|---|
| 2025/26 | Portsmouth | 29 | 3 | 2 | 30 | 16 |
| 2024/25 | West Brom | 36 | 3 | 1 | 41 | 21 |
| 2023/24 | West Brom | 39 | 9 | 1 | 49 | 27 |
| 2022/23 | West Brom | 45 | 6 | 9 | 61 | 38 |
| 2021/22 | Reading | 38 | 11 | 13 | 64 | 54 |
| 2020/21 | Reading | 14 | 1 | 2 | 60 | 9 |
| 2019/20 | Reading | 41 | 6 | 10 | — | — |
| 2018/19 | Reading | 34 | 3 | 3 | — | — |
| 2017/18 | Reading | 24 | 2 | 1 | — | — |
| 2016/17 | Reading | 39 | 8 | 4 | — | — |
| 2015/16 | BrentfordLoan | 27 | 7 | 4 | — | — |
| 2014/15 | Swindon TownLoan | 19 | 2 | 0 | — | — |
| 2014/15 | RotherhamLoan | 3 | 0 | 0 | — | — |
| 2013/14 | Chelsea U19 | 7 | 6 | 0 | — | — |
| 2013/14 | Chelsea | 1 | 0 | 0 | — | — |
International
| Side | Season | Competition | Apps | G |
|---|---|---|---|---|
| England U21 | 2017/18 | UEFA U21 Championship | 6 | 1 |
| England U19 | 2014/15 | UEFA U19 Championship | 5 | 0 |
| 2013/14 | UEFA U19 Championship | 4 | 0 | |
| England U17 | 2012/13 | UEFA U17 Championship | 5 | 0 |
Honours
Tournoi Maurice Revello×2
By competition
| Competition | Apps | Min | G | A | Rating |
|---|---|---|---|---|---|
| Championship | 29 | 1659 | 3 | 2 | 6.8 |
| League Cup | 1 | 45 | 0 | 0 | 6.7 |
| FA Cup | 1 | 17 | 0 | 0 | 6.3 |
Schedule · 2025/26
31 played13 unused sub2 injured8 not in squad· 1721 min, 3g 2a
| Date | Competition | Opponent | Res | Status | Min | G | A | Rating |
|---|---|---|---|---|---|---|---|---|
| Jul 15 | Friendlies Clubs | A Woking | 2-0 | Not in squad | — | |||
| Jul 16 | Friendlies Clubs | A Farnborough | 5-0 | Not in squad | — | |||
| Jul 19 | Friendlies Clubs | H Crawley Town | 1-0 | Not in squad | — | |||
| Jul 26 | Friendlies Clubs | A Reading | 4-0 | Not in squad | — | |||
| Jul 29 | Friendlies Clubs | A Havant & Wville | 0-0 | Not in squad | — | |||
| Aug 2 | Friendlies Clubs | H PEC Zwolle | 1-0 | Not in squad | — | |||
| Aug 9 | Championship | A Oxford United | 1-0 | Played | 86 | 7.0 | ||
| Aug 12 | League Cup | H Reading | 1-2 | Played | 45 | 6.7 | ||
| Aug 16 | Championship | H Norwich | 1-2 | Played | 90 | 6.6 | ||
| Aug 23 | Championship | A West Brom | 1-1 | Played | 57 | 6.6 | ||
| Aug 30 | Championship | H Preston | 1-0 | Played | 90 | 1 | 6.6 | |
| Sep 14 | Championship | A Southampton | 0-0 | Played | 76 | 7.3 | ||
| Sep 20 | Championship | H Sheffield Wednesday | 0-2 | Played | 45 | 6.6 | ||
| Sep 27 | Championship | A Ipswich | 1-2 | Played | 28 | 1 | 7.0 | |
| Oct 1 | Championship | H Watford | 2-2 | Played | 90 | 6.6 | ||
| Oct 4 | Championship | H Middlesbrough | 1-0 | Played | 58 | 6.5 | ||
| Oct 18 | Championship | A Leicester | 1-1 | Played | 81 | 1 | 7.9 | |
| Oct 21 | Championship | H Coventry | 1-2 | Played | 90 | 7.0 | ||
| Oct 25 | Championship | H Stoke City | 0-1 | Yellow Cards | — | |||
| Nov 1 | Championship | A Birmingham | 0-4 | Played | 67 | 6.2 | ||
| Nov 5 | Championship | H Wrexham | 0-0 | Unused sub | 0 | — | ||
| Nov 8 | Championship | A Hull City | 2-3 | Not in squad | — | |||
| Nov 22 | Championship | H Millwall | 3-1 | Unused sub | 0 | — | ||
| Nov 26 | Championship | A Sheffield Utd | 0-3 | Unused sub | 0 | — | ||
| Nov 29 | Championship | H Bristol City | 0-1 | Played | 9 | 6.7 | ||
| Dec 9 | Championship | A Swansea | 0-1 | Played | 90 | 6.7 | ||
| Dec 13 | Championship | H Blackburn | 2-1 | Played | 57 | 6.9 | ||
| Dec 20 | Championship | A Derby | 1-1 | Unused sub | 0 | — | ||
| Dec 26 | Championship | H QPR | 1-1 | Unused sub | 0 | — | ||
| Dec 29 | Championship | H Charlton | 2-1 | Unused sub | 0 | — | ||
| Jan 1 | Championship | A Bristol City | 0-5 | Played | 90 | 7.3 | ||
| Jan 11 | FA Cup | H Arsenal | 1-4 | Played | 17 | 6.3 | ||
| Jan 17 | Championship | A Sheffield Wednesday | 1-0 | Unused sub | 0 | — | ||
| Jan 21 | Championship | A Watford | 1-1 | Played | 1 | — | ||
| Jan 25 | Championship | H Southampton | 1-1 | Unused sub | 0 | — | ||
| Jan 31 | Championship | H West Brom | 3-0 | Played | 11 | 6.7 | ||
| Feb 7 | Championship | A Preston | 0-1 | Played | 12 | 6.9 | ||
| Feb 14 | Championship | H Sheffield Utd | 0-1 | Played | 71 | 7.2 | ||
| Feb 17 | Championship | A Charlton | 3-1 | Played | 79 | 6.2 | ||
| Feb 21 | Championship | A Millwall | 3-1 | Played | 70 | 1 | 7.5 | |
| Feb 24 | Championship | A Wrexham | 1-2 | Played | 42 | 6.3 | ||
| Feb 28 | Championship | H Hull City | 0-1 | Not in squad | — | |||
| Mar 7 | Championship | A Blackburn | 1-1 | Inactive | — | |||
| Mar 10 | Championship | H Swansea | 1-2 | Played | 12 | 6.6 | ||
| Mar 16 | Championship | H Derby | 0-1 | Played | 27 | 6.9 | ||
| Mar 21 | Championship | A QPR | 1-6 | Played | 60 | 1 | 7.2 | |
| Apr 3 | Championship | A Norwich | 1-1 | Unused sub | 0 | — | ||
| Apr 6 | Championship | H Oxford United | 2-2 | Unused sub | 0 | — | ||
| Apr 11 | Championship | A Middlesbrough | 1-0 | Unused sub | 0 | — | ||
| Apr 14 | Championship | H Ipswich | 2-0 | Played | 71 | 7.0 | ||
| Apr 18 | Championship | H Leicester | 1-0 | Unused sub | 0 | — | ||
| Apr 21 | Championship | A Coventry | 1-5 | Unused sub | 0 | — | ||
| Apr 25 | Championship | A Stoke City | 3-1 | Played | 78 | 6.7 | ||
| May 2 | Championship | H Birmingham | 1-1 | Played | 21 | 6.5 |