Le château de Charnay est situé sur la commune de Perrigny-sur-Loire en Saône-et-Loire, sur une légère éminence dominant la Loire.