Leroy started his career with
Châteauroux before joining
Tours in 2009 and made his senior debut in the 0–1 defeat away to
Sedan on 27 May 2011. Since the following season, Leroy became a regular in the first team and played over 100 league matches for Tours until the end of the 2013–14
Ligue 2 campaign. In July 2014, he moved to
Ligue 1 side
Evian on a four-year contract. Halfway through the
2014–15 season, Leroy became the starter replacing
Jesper Hansen in goal. Evian suffered relegation at the end of the season, and Leroy continued as the starter in the
2015–16 Ligue 2 season. On 17 June 2016, Leroy signed a three-year contract with
Dijon. On 19 June 2018, after being a backup to
Baptiste Reynet, Leroy signed with
Ajaccio. He grew into a starter for the club, and in the
2019–20 season he was voted into the Ligue 2 Team of the Season by
France Football. His strong performances continued, and in the
2021–22 season, he was also voted into the
UNFP Ligue 2 Team of the Year. ==Career statistics==