Geneva-on-the-Lake is a village in northwestern Ashtabula County, Ohio, United States, along the southern shore of Lake Erie. A small resort town, the population was 916 at the 2020 census. It is part of the Ashtabula micropolitan area, 46 miles northeast of Cleveland.