Herron joined Celtic as a youth player aged 8. Whilst a member of the club's development squad Herron aged 18 made his first team debut for Celtic on 22 December 2012, coming on as an 83rd-minute substitute in a Scottish Premier League match against Ross County, replacing Georgios Samaras in a 4–0 win. Herron did not feature in a competitive first team game again until over a year later when he made his first starting appearance, in a league match away against Motherwell on 19 April 2014.
On 23 January 2015, Herron signed for Scottish Championship club Cowdenbeath on loan until the end of the 2014–15 season. He made 5 appearances for the Miners, picking up three yellow cards. Upon his return to Celtic, he was released from his contract.
On 24 June 2015, it was reported that Herron had agreed a two-year deal with the option of a further year with League One club, Blackpool. He scored his first goal for Blackpool in a 4–2 EFL Cup win against Bolton Wanderers on 9 August 2016. Following the end of his loan deal with Dunfermline Athletic, Blackpool agreed to terminate Herron's contract, leaving the player free to find a new club.
Dunfermline Athletic
Herron was loaned to Dunfermline Athletic on 31 August 2016, signing until 31 January 2016. Herron made his debut on 3 September 2016 as a second-half substitute against Brechin City in the Scottish Challenge Cup, with his first full start coming three weeks later in a 4–3 league victory over St Mirren. After some impressive performances for the side, Herron's loan deal was extended on 10 January 2017, with the playing staying at East End Park for the remainder of the 2016–17 season.
After leaving Blackpool, Herron signed for Dunfermline Athletic's Fife rivals Raith Rovers on 31 August 2017, spending one season with the club before being released in May 2018. After leaving Raith, Herron moved to NIFL Premiership side Glentoran on 28 August 2018.
Career statistics
Personal life
Herron grew up in Coatbridge and attended St. Andrew's High School.