Brown began his career at hometown club Crewe Alexandra, for whom he made a solitary appearance as substitute in a league match with Brighton on 2 February 2008.[2]
After the Vics' problems off the field he signed for Fleetwood Town.[5] He was part of the squad that saw Fleetwood promoted into the Football League for the first time in their history, and was hailed for his good form on his personal return to league football.[6]
On 31 July 2014 Brown terminated his contract with Fleetwood and agreed to join League Two side Oxford United on a 12-month contract.[8]
Mansfield Town
Brown joined Mansfield Town on a permanent transfer in January 2015 having been on loan at the club since November 2014.[9]
Shrewsbury Town
Brown joined Shrewsbury Town in League One on a free transfer in June 2015, re-uniting with his former manager at Fleetwood, Micky Mellon.[10] Establishing himself as first choice left-back at the club, he made forty appearances in all competitions during the 2015–16 season, before picking up a knee ligament injury in April 2016.[11] This injury caused him to miss most of the season.[12]
Brown signed a two-year contract extension in June 2016, keeping him at the club until summer 2018.[13] Having found some goalscoring form during his second season, Brown's fifth goal of the campaign, the matchwinner in a 1−0 home victory over Southend United in April 2017, notably all-but sealed Shrewsbury's League One status at the expense of local rivals Port Vale.[14]
He was offered a new contract by Shrewsbury at the end of the 2017–18 season.[15] Brown joined Coventry City on 1 July 2018 on a 2-year deal.[16]
Scunthorpe United
On 29 August 2019, Brown joined League Two side Scunthorpe United on loan until January where he was given the 28 shirt.[17] He later signed permanently, and was one of 17 players released by Scunthorpe at the end of the 2020–21 season.[18]
Bristol Rovers
On 31 August 2021, Brown joined recently relegated League Two club Bristol Rovers on a one-year deal.[19] Brown made his debut on 11 September 2021, coming off of the bench in a 1–0 defeat at Hartlepool United.[20] Brown picked up a thigh injury in a 1–0 victory over Harrogate Town that would prove to keep him out for a number of months.[21] In January 2022, manager Joey Barton revealed that Brown would be allowed to move on from the club with the defender struggling to return to full fitness having not played since the thigh injury in October.[22] Having been unable to find a move in the January transfer window, Brown was released by the club at the end of the season.[23]
Whitchurch Alport
Following his release from Bristol Rovers, Brown signed for Midland Football League Premier Division club Whitchurch Alport, scoring his first goal in over four years with the last minute winner in an FA Cup victory over Ossett United.[24]