At a glance
- Full name
- Joshua James Leslie Duffus
- Born
- 15 Dec 2004
- Age today
- 21
- Nationality
- England
Career by season
49 recorded appearances| Season | Competition | Team | Apps | Starts | Goals | Assists | Minutes | Cards |
|---|---|---|---|---|---|---|---|---|
| 26/27 | Ligue 2 | AS Saint-Étienne | 11 | 0 | 1 | 0 | 237 | 1 |
| 25/26 | Ligue 2 | AS Saint-Étienne | 27 | 7 | 7 | 3 | 808 | 1 |
| 25/26 | Ligue 1/Ligue 2 play-off | AS Saint-Étienne | 3 | 1 | 0 | 0 | 99 | 0 |
| 23/24 | UEFA Europa League | Brighton & Hove Albion | 1 | 0 | 0 | 0 | 2 | 0 |
| 23/24 | International Friendly Games | England U19 | 4 | 1 | 0 | 2 | 156 | 0 |
| 22/23 | International Friendly Games | England U19 | 1 | 1 | 0 | 0 | 90 | 0 |
| 21/22 | International Friendly Games | England U17 | 2 | 1 | 0 | 0 | 55 | 0 |
Appearances in our supported competitions. Goals, assists and minutes come from match reports where we have them.
Match log
Newest first| Date | Competition | Match | Score | Minutes | Goals |
|---|---|---|---|---|---|
| 21 Mar 2026 | Ligue 2 | AS Saint-Étienne v FC AnnecySubstitute, on 64′ | 4 – 0 | 26 | |
| 14 Mar 2026 | Ligue 2 | Grenoble Foot 38 v AS Saint-ÉtienneSubstitute, on 63′ | 0 – 0 | 27 | |
| 07 Mar 2026 | Ligue 2 | AS Saint-Étienne v Red Star FCSubstitute, on 87′ | 2 – 0 | 3 | |
| 28 Feb 2026 | Ligue 2 | Pau FC v AS Saint-ÉtienneSubstitute, on 80′ | 0 – 3 | 10 | 1 |
| 21 Feb 2026 | Ligue 2 | AS Saint-Étienne v Stade LavalloisSubstitute, on 67′ | 2 – 1 | 23 | |
| 14 Feb 2026 | Ligue 2 | EA Guingamp v AS Saint-ÉtienneSubstitute, on 78′ | 1 – 2 | 12 | |
| 07 Feb 2026 | Ligue 2 | AS Saint-Étienne v Montpellier HSCSubstitute, on 71′ | 1 – 0 | 19 | |
| 31 Jan 2026 | Ligue 2 | AS Saint-Étienne v US BoulogneSubstitute, on 74′ | 0 – 1 | 16 | |
| 24 Jan 2026 | Ligue 2 | Stade Reims v AS Saint-ÉtienneSubstitute, on 88′ | 1 – 0 | 2 | |
| 06 Dec 2025 | Ligue 2 | USL Dunkerque v AS Saint-ÉtienneSubstitute, on 71′ | 1 – 0 | 19 | |
| 08 Nov 2025 | Ligue 2 | ESTAC Troyes v AS Saint-Étienne | 2 – 3 | 59 | 1 |
| 01 Nov 2025 | Ligue 2 | Red Star FC v AS Saint-Étienne | 2 – 1 | 46 | |
| 28 Oct 2025 | Ligue 2 | AS Saint-Étienne v Pau FC | 6 – 0 | 72 | 2 |
| 25 Oct 2025 | Ligue 2 | FC Annecy v AS Saint-ÉtienneSubstitute, on 73′ | 4 – 0 | 17 | |
| 04 Oct 2025 | Ligue 2 | Montpellier HSC v AS Saint-ÉtienneSubstitute, on 90′ | 0 – 2 | 1 | |
| 27 Sep 2025 | Ligue 2 | AS Saint-Étienne v EA GuingampSubstitute, on 76′ | 2 – 3 | 14 | |
| 20 Sep 2025 | Ligue 2 | AS Saint-Étienne v Stade ReimsSubstitute, on 87′ | 3 – 2 | 3 | |
| 13 Sep 2025 | Ligue 2 | Clermont Foot 63 v AS Saint-ÉtienneSubstitute, on 88′ | 1 – 2 | 2 | |
| 30 Aug 2025 | Ligue 2 | AS Saint-Étienne v Grenoble Foot 38 | 1 – 1 | 76 | |
| 23 Aug 2025 | Ligue 2 | US Boulogne v AS Saint-ÉtienneSubstitute, on 63′ | 0 – 1 | 27 |
Career transfers
3 recorded movesAll recorded career moves, newest first.
| Date | From | To | Move | Fee |
|---|---|---|---|---|
| 13 Aug 2025 | Brighton & Hove Albion U21 | AS Saint-Étienne | Transfer | Free |
| 01 Jul 2023 | Brighton & Hove Albion U18 | Brighton & Hove Albion U21 | Internal move | — |
| 01 Jul 2021 | Brighton & Hove Albion Youth | Brighton & Hove Albion U18 | Internal move | — |
Contracts and market values are not available yet.