Die Kleinstadt San Giovanni in Persiceto befindet sich in der Provinz Bologna, die zur Region Emilia-Romagna gehört. Die Gemeinde besitzt 24508 Einwohner und hat eine Fläche von 114,42 Quadratkilometer bei einer Bevölkerungsdichte von 214,19 Einwohner pro Quadratkilometer. San Giovanni in Persiceto befindet sich 21 Meter über dem Meeresspiegel.

Die Ortsteile der Gemeinde sind:

Amola di Piano
Arginone
Biancolina
Buche
Decima
Lorenzatico
Madonna del Poggio
Piolino
Quattro Torri
Tassinara
Tivoli