Puigdemont was convicted in multiple cases of corruption, conducting an unsanctioned independence referendum and to rebel against the rebellious against the ruling government.
The former Catalan separatist leader was detained in Germany last month on an worldwide arrest warrant issued by Spain when he was driving back from Finland through Denmark on his way to Belgium.
Proceedings to decide whether to extradite him on corruption charges could continue, it said.
But in a blow to the Spanish probe, a northern German state court ruled Thursday that the lack of violence in the Catalan independence bid meant that Puigdemont can't be punished for rebellion under German law.
German prosecutors argued earlier this week that the main charge of rebellion is equivalent to Germany's criminal offense of treason.
The Catalan separatist leader could still be extradited on a charge of misusing public funds, the judges added, although "further facts must be clarified and information gathered" in the coming days and weeks.
It set bail at €75,000 ($92,000) pending a decision on his possible extradition to Spain.
Puigdemont and six political allies escaped Spanish authorities in an attempt to "internationalise" their plight by dragging other European Union countries into the row. His lawyers have said they will appeal.
Sanchez said in a letter from a Madrid jail published Thursday that he was ready to try again to be elected.
The charge of rebellion can bring up to 25 years in prison in Spain.
The ex-police chief - who was credited for the force's swift response in the 2017 Barcelona terror attacks - resigned past year in the aftermath of the referendum.
He then came under pressure when central authorities urged the regional police to stop the October 1 referendum banned by Spanish courts.
Two more members of the regional police and an official with the regional interior department were also indicted.