7. etappe av Giro d'Italia 2012 gikk 12. mai 2012 fra Recanati til Rocca di Cambio, og strakte seg over 205 km i en kupert etappe. Etappen ble vunnet av Paolo Tiralongo som kom i mål etter en spurt. Den rosa ledertrøya ble tatt over av Ryder Hesjedal som kom i mål 0.05 etter vinneren. Gabriel Rasch kom i mål som nummer 144, 17.21 etter vinneren. Alexander Kristoff kom inn 23.52 etter vinneren på 162.-plass.