Bodin playing forBristol Rovers in 2016 | |||
| Personal information | |||
|---|---|---|---|
| Full name | Billy Paul Bodin[1] | ||
| Date of birth | (1992-03-24)24 March 1992 (age 33)[2] | ||
| Place of birth | Swindon, England | ||
| Height | 5 ft 11 in (1.80 m)[3] | ||
| Position(s) | Forward,right winger | ||
| Team information | |||
Current team | Swindon Town | ||
| Number | 31 | ||
| Youth career | |||
| 2008–2010 | Swindon Town | ||
| Senior career* | |||
| Years | Team | Apps | (Gls) |
| 2010–2012 | Swindon Town | 16 | (3) |
| 2011–2012 | →Torquay United (loan) | 17 | (5) |
| 2012 | →Crewe Alexandra (loan) | 8 | (0) |
| 2012–2014 | Torquay United | 70 | (6) |
| 2015 | Northampton Town | 4 | (0) |
| 2015–2018 | Bristol Rovers | 95 | (35) |
| 2018–2021 | Preston North End | 39 | (3) |
| 2021–2024 | Oxford United | 89 | (17) |
| 2024–2025 | Burton Albion | 12 | (4) |
| 2025 | →Reading (loan) | 16 | (2) |
| 2025– | Swindon Town | 6 | (1) |
| International career | |||
| 2008–2009 | Wales U17 | 14 | (5) |
| 2009–2010 | Wales U19 | 9 | (1) |
| 2009–2014 | Wales U21 | 21 | (3) |
| 2018 | Wales | 1 | (0) |
| * Club domestic league appearances and goals as of 16:24, 27 September 2025 (UTC) | |||
Billy Paul Bodin (born 24 March 1992) is a professionalfootballer who plays as aforward or as anattacking midfielder forEFL League Two clubSwindon Town. Born in England, he played for theWales national team. Bodin is the son of former Wales internationalPaul Bodin.
Bodin began his career withSwindon Town, spending periods on loan toTorquay United andCrewe Alexandra. After signing permanently and playing for two seasons at Torquay he spent a season atNorthampton Town. He played forBristol Rovers for two and a half years before joiningPreston North End in January 2018, where he remained for a further three seasons.
Having represented Wales at several youth levels, he was called up to the Wales senior squad for the first time on 15 March 2018.
Bodin began his career withSwindon Town, moving from the youth set-up, where he finished top scorer in both the youth side and the reserves during the 2009–10 season,[4] to become a professional in April 2010.[5] Bodin was an unused substitute on the Swindon bench on 20 March 2010 in their 1–1 league draw againstNorwich City.
On 2 October 2010, Bodin followed in his father's footsteps by making his first-team debut for Swindon Town as a late substitute in a 2–1League One defeat toDagenham & Redbridge, replacingThomas Dossevi.[6] Swindon were relegated to League Two after finishing 24th, and Bodin expressed hopes for first-team opportunities the following season.[7]
Having returning to Swindon in early January 2012 from a loan spell, Bodin scored his first goals for the club, the final goal in a 4–1 victory overSouthend United on 31 January 2012 and another in the next game, a 3–0 win overCrawley Town on 14 February 2012. His third goal came againstDagenham & Redbridge in a 4–0 win on 6 March 2012.
On 25 August 2011, Bodin joinedTorquay United on loan until January 2012.[8] He made his Torquay debut in a 1–1 draw withDagenham & Redbridge on 27 August 2011, coming on as a substitute and winning a penalty, which was converted byRene Howe. On 13 September 2011, he scored his first goal for the club in a 2–2 draw againstCheltenham Town, and he scored again the following week in a 3–3 draw againstRotherham United. His next goal came on 29 October 2015 in a 1–0 win overHereford United, and he scored again on 5 November 2011 in a 3–0 win over Crewe. After his goal against Hereford United, managerMartin Ling predicted big things for Bodin since becoming established in the first team.[9] On 2 January 2012, Bodin scored his 6th goal in a 2–1 win overPlymouth Argyle. Bodin's good performances led Torquay unsuccessfully to seek a loan extension until the end of the season.[10] After leaving Torquay, Bodin paid tribute to Ling, crediting his tactical changes with stopping the club's nosedive at the start of the season.[11]
In March 2012, he was loaned toCrewe Alexandra for the remainder of the season.[12] Bodin made his debut for the club in a 1–0 win over Hereford United on 24 March 2012.
On 2 July 2012,Torquay United signed Bodin for an undisclosed fee believed to be around £70,000,[13][14] beating Crewe who had also attempted to sign him.[15] Bodin suffered knee ligament damage whilst playing for Torquay againstDagenham & Redbridge in April 2014.[16] His contract expired during the summer of 2014.[17]
In January 2015, Bodin joinedNorthampton Town on a deal until the end of the season having spent time at the club during his knee ligament injury rehabilitation.[18] Bodin made four substitute appearances for the Cobblers before leaving in the summer.

Bodin went on to sign forBristol Rovers in July 2015 on a short-term deal, following a successful trial at the club.[19]He scored his first goal for Rovers in a 3–0 away win againstHartlepool,[20] his second againstMorecambe in a 4–3 win away from home,[21] and his third, a spectacular effort, in a 1–4 loss toNewport County.[22] He also scored againstDagenham & Redbridge[23] and high-flyingPlymouth Argyle,[24] to finish the season with 5 goals, helping his side to achieve promotion toFootball League One.[25] On 9 June 2016 he signed a new two-year deal to stay at Rovers.[26]
Bodin did not score in the 2016–17 season until a volley in a 3–2 defeat toChesterfield in November.[27] By the turn of the year he was on four goals, thanks to a Boxing Day hat trick in a 4–1 victory overCoventry City, all scored with his left foot: a shot from the edge of the box into the far top corner, a long shot from 25 yards and a penalty.[28] He scored a fine goal againstNorthampton Town during a 5–0 thrashing, but it was overshadowed by teammateEllis Harrison's four.[29]
Bodin scored his first two goals of the season with a brace on 8 August 2017, in a 4–1EFL Cup victory overCambridge United, his second match of the campaign.[30] His first two league goals of the season came in a 3–2 victory away toBury: a header from a cross fromJoe Partington to make it 2–0 and a close-range effort to make it 3–0.[31] On 7 October 2017, Bodin opened the scoring as Rovers defeated his former club Northampton 6–0 away from home; however, in doing so he suffered an injury that kept him out of the team for over a month.[32]
Bodin departed Bristol Rovers on 3 January 2018, having scored 13 goals in the first half of the season for the club.[33]
On 3 January 2018, Bodin joinedEFL Championship clubPreston North End for an undisclosed fee, signing a two-and-a-half-year contract with the club. He was assigned shirt number 39 on his arrival atDeepdale.[34] He made his debut on 6 January 2018 in a 5–1 victory away atWycombe Wanderers in theFA Cup 3rd round.[35] The injury problems that had plagued Bodin in the earlier part of his career returned during his time at Preston and he missed the entirety of the2018–19 season with ananterior cruciate ligament injury.[36]
In October 2019 he signed a new contract with PNE until summer 2021.[37] On 13 May 2021, it was confirmed that Bodin would be leaving the club at the end of his contract.[38]
On 30 June 2021, Bodin signed forEFL League One sideOxford United as a free agent on a one-year contract.[39] In hisfirst season, in which Oxford narrowly missed out on a play-off place, he scored six times in the league and once in the FA Cup.[40] He expressed his wish to sign a new contract at the end of the season,[41] and in June 2022 signed a new two-year deal.[42]
After winning promotion to theChampionship with Oxford, Bodin announced he would leave the club at the end ofthe 2023–24 season when his contract expired.[43]
On 8 July 2024, Bodin returned to League One following his release from Oxford United, joiningBurton Albion on a two-year deal.[44]
On 3 February 2025, Bodin joinedReading on loan until the end of the season.[45]
On 21 July 2025, following the termination of his contract with Burton Albion, Bodin returned to his first professional club Swindon Town, signing a one-year deal.[46]
Bodin is eligible to play for Wales as his father,Paul Bodin, was born inCardiff and earned 23 caps for the senior team between 1990 and 1994. Billy Bodin has representedWales at Under-17, Under-19 and Under-21 level.[47] In January 2013 he was selected in the Wales U21 squad for the friendly match againstIceland on 6 February 2013[48]
He was called into the Welsh senior squad for the first time on 15 March 2018.[49] He made his debut on 26 March 2018, coming on as a 67th-minute substitute in theChina Cup 1–0 final defeat toUruguay.[50]
His father,Paul Bodin, is a former professional footballer.[16]
| Club | Season | League | FA Cup | League Cup | Other | Total | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Division | Apps | Goals | Apps | Goals | Apps | Goals | Apps | Goals | Apps | Goals | ||
| Swindon Town | 2010–11[51] | League One | 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5 | 0 |
| 2011–12[52] | League Two | 11 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 11 | 3 | |
| Total | 16 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 16 | 3 | ||
| Torquay United (loan) | 2011–12[52] | League Two | 17 | 5 | 1 | 0 | 0 | 0 | 1[a] | 0 | 19 | 5 |
| Crewe Alexandra (loan) | 2011–12[52] | League Two | 8 | 0 | 0 | 0 | 0 | 0 | 1[b] | 0 | 9 | 0 |
| Torquay United | 2012–13[53] | League Two | 43 | 5 | 1 | 0 | 0 | 0 | 1[a] | 0 | 45 | 5 |
| 2013–14[54] | League Two | 27 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 28 | 1 | |
| Total | 70 | 6 | 1 | 0 | 1 | 0 | 1 | 0 | 73 | 6 | ||
| Northampton Town | 2014–15[55] | League Two | 4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 |
| Bristol Rovers | 2015–16[56] | League Two | 38 | 13 | 1 | 0 | 0 | 0 | 2[a] | 0 | 41 | 13 |
| 2016–17[57] | League One | 36 | 13 | 2 | 0 | 2 | 0 | 2[c] | 0 | 42 | 13 | |
| 2017–18[58] | League One | 21 | 9 | 0 | 0 | 3 | 2 | 0 | 0 | 24 | 11 | |
| Total | 95 | 35 | 3 | 0 | 5 | 2 | 4 | 0 | 107 | 37 | ||
| Preston North End | 2017–18[58][59] | Championship | 17 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 18 | 1 |
| 2018–19[60] | Championship | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 2019–20[61] | Championship | 18 | 2 | 2 | 1 | 1 | 0 | 0 | 0 | 21 | 3 | |
| 2020–21[62] | Championship | 4 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 5 | 0 | |
| Total | 39 | 3 | 2 | 1 | 2 | 0 | 0 | 0 | 44 | 4 | ||
| Oxford United | 2021–22[40] | League One | 21 | 6 | 2 | 1 | 1 | 0 | 1[a] | 0 | 25 | 7 |
| 2022–23[63] | League One | 32 | 6 | 3 | 3 | 2 | 0 | 3[a] | 0 | 40 | 9 | |
| 2023–24[64] | League One | 36 | 5 | 3 | 3 | 1 | 1 | 1[a] | 0 | 41 | 9 | |
| Total | 89 | 17 | 8 | 7 | 4 | 1 | 4 | 0 | 102 | 25 | ||
| Burton Albion | 2024–25[65] | League One | 10 | 4 | 1 | 0 | 1 | 0 | 1 | 0 | 13 | 4 |
| Reading (loan) | 2024–25[65] | League One | 16 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 16 | 2 |
| Career total | 349 | 73 | 17 | 8 | 13 | 3 | 12 | 0 | 391 | 84 | ||
| National team | Year | Apps | Goals |
|---|---|---|---|
| Wales | 2018 | 1 | 0 |
Swindon Town
Crewe Alexandra
Bristol Rovers
Oxford United