Roche est une commune du département de la Loire, dans la région d' Auvergne-Rhône-Alpes.
Roche fait partie du canton de Montbrison 
Roche adhère à la la communauté d'agglomération Loire Forez Agglomération (LFA) 
Roche fait partie du bassin de vie de Montbrison 
Madame le maire de Roche est Christelle MASSON - Agriculteur sur petite exploitation (2026)
La population de Roche est de 252 habitants (2025) 
L'altitude moyenne de Roche 923 mètres.
Le code postal de Roche est : 42600
Le code INSEE de Roche est : 42188
1 Il y a 1 Ecole à Roche. Voir les établissements scolaires de Roche. 
28.4 La part des résidences secondaires est de 28.4 %. 
Tous les chiffres et statistiques sur Roche sur le site Insee.fr 
Lérigneux : à 1.96 km
Châtelneuf : à 3.76 km
Essertines-en-Châtelneuf : à 3.99 km
Saint-Bonnet-le-Courreau : à 4.97 km
Bard : à 5.81 km
Verrières-en-Forez : à 6.21 km
Sauvain : à 7.12 km
Écotay-l'Olme : à 7.90 km
Champdieu : à 8.67 km
Pralong : à 8.85 km
Chazelles-sur-Lavieu : à 9.12 km
Montbrison : à 9.35 km
Saint-Georges-en-Couzan : à 9.74 km
Gumières : à 9.75 km
Saint-Anthème : à 9.75 km
Lézigneux : à 10.42 km
Lavieu : à 10.80 km
Savigneux : à 10.88 km
Marcilly-le-Châtel : à 11.06 km
Saint-Thomas-la-Garde : à 11.74 km
Chalain-d'Uzore : à 11.78 km
Valcivières : à 11.90 km
Marcoux : à 11.98 km
Ecole élémentaire Bourg - Public