According to the United States Census Bureau, the town has an area of , of which is land and , or 2.09%, is water. Great Barrington is bordered by West Stockbridge, Stockbridge and Lee to the north, Tyringham to the northeast, Monterey to the east, New Marlborough to the southeast, Sheffield to the south, Egremont to the southwest, and Alford to the northwest. The town is south of Pittsfield, west of Springfield, west of Boston, and north-northeast of New York City.