Brown came through the Sussex youth system, first appearing at under-11 level and going on to make his second XI debut in May 2004.[2][3] He was a regular for the England under-19 team between 2007 and 2008 featuring in four 'Tests' and 24 'ODIs' including five appearances at the 2008 Under-19 Cricket World Cup.[1][4]
Brown's initial opportunities as wicket-keeper were limited by the presence of Matt Prior and Andrew Hodd, but Brown did play eight group games in the 2009 Twenty20 Cup, a competition Sussex would go on to win.[7] On his County Championship debut against Worcestershire in May 2010, he was dismissed for a four-ball duck.[8] He scored his maiden first-class century later that season against Derbyshire in an innings where all of Sussex's top four batsmen made hundreds.[9]
In May 2014, Brown scored a then career-best of 163 against Durham. In partnership with Luke Wright they added a county record 335 for the sixth wicket having come together at 115/5.[10] Brown's score surpassed the best achieved by a number seven batsman for Sussex previously held by Jim Parks.[11] Later that season Brown was awarded his county cap.[12]
In the 2015 season, Brown was one of only two Sussex players to score over 1,000 runs in the County Championship;[13] Brown scored 1,031 Championship runs at an average of 44.82, with four centuries.[14] In December 2015, Brown signed a new contract to stay at Sussex until 2018, and was announced as the county's vice-captain. Sussex head coach Mark Davis described him as a "natural leader".[14]
Following the captaincy resignation of Luke Wright midway through the 2017 season, Brown was named skipper for the remainder of the County Championship campaign.[15] Ahead of the 2018 season he was named the permanent club captain.[16] He finished the year as Sussex's leading run-scorer with over 1,000 first-class runs as well as completing 55 dismissals.[17]
In July 2021, Brown was removed as captain following Sussex's poor performance in the first phase of the 2021 County Championship.[18] His own contribution across the season was 976 runs at an average of 51.36 including four centuries, he ended the campaign batting at number three as a specialist batsman. In December 2021, Sussex announced that they had agreed to Brown's request to leave the club and end his contract which had two years remaining.[19]
Hampshire
In January 2022, Hampshire announced the signing of Brown on an initial two-year contract.[20] On 7 April 2022, he made his county debut against Somerset.[21] Two weeks after his debut he made his first century for the club as he hit 157 against Kent, sharing in a stand of 273 with Liam Dawson which broke the Hampshire fifth wicket record.[22]
In May 2024, Brown scored a career-best 165 not out against Surrey as Hampshire inflicted one of their opponents heaviest defeats.[23]