Born in Empoli, and a youth product of small Tuscan team Sestese, he was scouted by Palermo and signed for the Under-19 youth team in 2012. He successively became third-choice keeper for the first time in the following years.
In 2015 he was loaned out to Serie B club Trapani to get more first-team experience, but ended up playing only three games during the season, as Nícolas became the first choice.
He successively returned to Palermo in 2016 to be the reserve of Josip Posavec for the Serie A club. He made his debut in the Italian top flight on 12 March 2017 in a home match against Roma, lost with the result of 0-3. He successively managed to break into the starting lineup for the last remaining league games, eventually overtaking Posavec as first choice and playing a total eight games throughout the entire season.