Buffalo is a town in Putnam County, West Virginia, along the Kanawha River. The population was 1,171 at the 2000 census.
Buffalo is located at 38°37′1″N 81°58′48″W / 38.61694°N 81.98°W / 38.61694; -81.98 (38.616994, -81.979938).
According to the United States Census Bureau, the town has a total area of 1.6 square miles (4.3 km²). 1.4 square miles (3.7 km²) of it is land and 0.2 square miles (0.6 km²) of it (14.55%) is water.