Charmeil is a commune in the Allier department in central France.
Accessible by departemental roads 6 and 27, Charmeil is located 5 kilometres (3.1mi) northwest of Vichy, 3 kilometres (1.9mi) south of Saint-Rémy-en-Rollat, 4 kilometres (2.5mi) east of Vendat, and 4 kilometres (2.5mi) north of Bellerive-sur-Allier.