The town is located in the Alpine foothills along the north-eastern slopes of Grigna mountain group, from the eastern shore of Lake Como. It is located at the head of the small valley of Valsassina. The town consists of two distinct centres: Upper Esino and , located at an elevation of around ; other minor localities within the municipality are Cainallo, at almost above sea level, and Ortanella, at a little less than .