Collins was a part of the Bristol City academy before joining the Newport County academy. In 2014, he nearly left the Newport academy after not being offered a scholarship. Unable to afford the costs of travelling each day, Collins took a job in McDonald's in Malpas. However, academy coach Mike Flynn later intervened and Collins was offered his first professional contract with the club soon after. Then Newport manager Jimmy Dack described Collins as "a young George Boyd". Collins was handed his first place in a matchday squad as an unused substitute for Newport aged 17 in a Football League Two match versus Shrewsbury Town on 20 September 2014. Collins made his senior debut for Newport aged 17 in a Football League Trophy first round match versus Swindon Town on 23 September 2014 as an 11th minute replacement for Mike Flynn. However, his debut lasted just 34 minutes when the ball hit him in the face and he too had to be substituted. Swindon won the game 2–1. In January 2015, Collins joined Merthyr Townon loan, making his only appearance as a substitute in a 2–1 win over Clevedon Town. Collins made his football league debut on 18 April 2015 as a second-half substitute in the League Two match versus Dagenham & Redbridge. He scored his first competitive goal for Newport on 15 August 2015 in a League Two match versus Stevenage during a 2–2 draw. In the final week of the transfer window in August 2015, Football League Championship side Burnley submitted two bids for Collins, the last being £65,000 plus potential future add-ons, both of which were rejected by Newport.
On 22 January 2016, Collins signed for Wolverhampton Wanderers on a two and a half year contract for an undisclosed fee. On 31 August 2016, Collins joined Notts County on loan until 7 January 2017. He scored a last minute equaliser on his debut against Grimsby Town to tie the game at 2–2. On 23 March 2017, Collins joined Tranmere Rovers on loan for the remainder of the 2016–17 season. He made his debut for the club as a substitute during a 9–0 victory over Solihull Moors, scoring his side's final goal of the game. On 29 November 2017, Collins joined Maidstone United on a one-month loan deal and on 3 January 2018, he re-joined Newport County on loan for the remainder of the 2017–18 season. On 7 June 2018, Collins joined Colchester United on loan for the 2018–19 season. He made his competitive debut on 4 August in Colchester's 0–0 draw with Notts County. His loan was terminated by mutual consent on 2 January 2019 after scoring one goal in eleven appearances for the club. In January 2019, Collins' contract with Wolverhampton Wanderers was terminated by mutual consent.
The following month on 9 February 2019, he signed for Morecambe until the end of the 2018–19 season. Collins scored eight goals in 15 League Two matches for Morecambe.
Collins joined Forest Green Rovers on a two-year deal in June 2019.
International
In April 2015, Collins was named in the Wales Under 19 squad for the match versus Germany on 18 April 2015 and was subsequently named in the starting line-up.
Personal life
He is the elder brother of professional footballer Lewis Collins.