Beginning his career as a winger or full back, Pinnock was released from the Millwallyouth system at the age of 15. He entered the youth system at Isthmian League club Dulwich Hamlet and after making his senior debut in August 2010, he went on to become a fringe member of the first team squad, before establishing himself during the 2014–15 season. A growth spurt led to Pinnock being converted into a central defender during his time with the club. He was a part of the club's 2012–13 First Division South-winning team and won the club's Player of the Year awards in the 2014–15 and 2015–16 seasons. Pinnock departed Hamlet in June 2016, after making over 200 appearances and scoring 13 goals during his time at Champion Hill.
On 21 June 2016, Pinnock signed a two-year contract with National League club Forest Green Rovers for an undisclosed fee. He made 45 appearances and scored three goals during Rovers' 2016–17 National League playoffs-winning season, which saw the club promoted to the EFLfor the first time in its history. Pinnock departed the club in June 2017.
Barnsley
On 30 June2017, Pinnock signed a three-year contract with Championship club Barnsley for an undisclosed fee, reported to be £500,000, plus add-ons. Down the pecking order during the first half of the 2017–18 season, injuries to other players allowed him to break into the starting lineup during December 2017 and January 2018. Pinnock scored his first two goals for the club in league matches versus Reading and Sunderland either side of the New Year. He finished an injury-affected 2017–18 season with 15 appearances and suffered relegation with the club to League One. Pinnock missed just two matches in all competitions during the 2018–19 season and helped the Tykes to automatic promotion back to the Championship. He won the club's Player of the Year award and was named in the PFA and EFL's League One Team of the Year selections. Pinnock departed Oakwell on 2 July 2019, after making 67 appearances and scoring three goals for Barnsley.
Brentford
On 2 July 2019, Pinnock signed a three-year contract with Championship club Brentford, with the option of an extra year, for an undisclosed fee, reported to be £3 million.
International career
In October 2016, Pinnock was called up for the England C national team and won his only cap in a 2–1 win over Estonia U23 in November 2016.