MD 667 begins at the eastern Crisfield city limit.
The road continues west as Chesapeake Avenue, which intersects Somerset Avenue on its way toward downtown Crisfield.
MD 667 heads east as two-lane Old State Road.
The highway curves north, then veers northeast parallel to MD 413 through the village of Hopewell.
MD 667 veers north and intersects MD 413 (Crisfield Highway), where its name changes to Crisfield Marion Road.
The highway leaves the suburban area surrounding Crisfield and enters a rural area as it continues northeast past St. Peter's Church Road, which leads toward St. Peter's Methodist Episcopal Church and Crisfield Municipal Airport.
MD 667 curves east and intersects MD 413 again, then turns northeast and closely parallels the main highway to Marion Station.
In the center of the village, the highway intersects Tulls Corner Road and its name changes to Hudson Corner Road.

MD 667 heads east away from MD 413 and crosses East Creek.
The highway veers northeast at Burnettsville Road and north as it reaches the hamlet of Hudson Corner.
There, the roadway continues straight as Old Westover Marion Road, which passes to the east of Kingston on its way to Westover.
MD 667 turns east onto Rehobeth Road, which immediately crosses Marumsco Creek.
Old Rehobeth Road splits southeast toward the hamlets of Rehobeth and Shelltown while MD 667 curves northeast in a sweeping curve within which it crosses the Rehobeth Branch of the Pocomoke River.
The highway continues between the branch and the main river, then veers east away from the branch.
MD 667 veers north and then back east again and crosses Puncheon Landing Branch immediately before the highway reaches its eastern terminus at US 13 (Ocean Highway) near the community of West Pocomoke.
MD 667 begins at the eastern Crisfield city limit. The road continues west as Chesapeake Avenue, which intersects Somerset Avenue on its way toward downtown Crisfield. MD 667 heads east as two-lane Old State Road. The highway curves north, then veers northeast parallel to MD 413 through the village of Hopewell. MD 667 veers north and intersects MD 413 (Crisfield Highway), where its name changes to Crisfield Marion Road. The highway leaves the suburban area surrounding Crisfield and enters a rural area as it continues northeast past St. Peter's Church Road, which leads toward St. Peter's Methodist Episcopal Church and Crisfield Municipal Airport. MD 667 curves east and intersects MD 413 again, then turns northeast and closely parallels the main highway to Marion Station. In the center of the village, the highway intersects Tulls Corner Road and its name changes to Hudson Corner Road.
MD 667 heads east away from MD 413 and crosses East Creek. The highway veers northeast at Burnettsville Road and north as it reaches the hamlet of Hudson Corner. There, the roadway continues straight as Old Westover Marion Road, which passes to the east of Kingston on its way to Westover. MD 667 turns east onto Rehobeth Road, which immediately crosses Marumsco Creek. Old Rehobeth Road splits southeast toward the hamlets of Rehobeth and Shelltown while MD 667 curves northeast in a sweeping curve within which it crosses the Rehobeth Branch of the Pocomoke River. The highway continues between the branch and the main river, then veers east away from the branch. MD 667 veers north and then back east again and crosses Puncheon Landing Branch immediately before the highway reaches its eastern terminus at US 13 (Ocean Highway) near the community of West Pocomoke.
Maryland Route 667