# New York State Route 31

New York State Route 31 (NY 31) is a state highway that extends for 208.74 miles (335.93 km) across western and central New York in the United States. The western terminus of the route is at an intersection with NY 104 in the city of Niagara Falls. Its eastern terminus is at a traffic circle with NY 26 in Vernon Center, a hamlet within the town of Vernon. Over its routing, NY 31 spans 10 counties and indirectly connects three major urban areas in Upstate New York: Buffalo–Niagara Falls, Rochester, and Syracuse. The route is one of the longest routes in New York State, paralleling two similarly lengthy routes, NY 104 to the north and NY 5 to the south, as well as the Erie Canal, as it proceeds east.
Much of NY 31 west of Jordan was originally designated as part of a legislative route from the late 1900s to the early 1920s. NY 31 itself was assigned in the mid-1920s, utilizing all of legislative Route 30 (modern NY 31, NY 429, and NY 104) west of Rochester and much of its current alignment from Rochester to Lenox. At Lenox, NY 31 turned southeast to follow what is now NY 316 and NY 46 to NY 5 in Oneida. It was realigned by 1929 to continue west to Lewiston on Ridge Road and altered in the 1930 renumbering of state highways in New York to continue east to Utica via Verona. With the advent of U.S. Route 104 (US 104) c. 1935, NY 31 was realigned west of Rochester to follow most of its modern routing.
NY 31 was truncated westward to NY 365 in Verona in the early 1940s, moving the eastern terminus of NY 31 to the same junction that also had served as the northern terminus of New York State Route 234, a north–south route that extended southeastward to Vernon Center, since the early 1930s. The two routes continued to share a terminus until 1981, when ownership and maintenance of part of NY 234 was transferred from the state of New York to Oneida County as part of a highway maintenance swap between the two levels of government. In return, the state acquired a pair of county roads that followed a routing parallel to that of the transferred section of NY 234. The new state highways and the remainder of NY 234 became an extension of NY 31.

## Route description

Most of NY 31 is owned by the state of New York and maintained by the New York State Department of Transportation (NYSDOT); however, some sections of the route—mostly within cities—are locally owned and maintained. In the cities of Niagara Falls and Rochester, NY 31 is completely city-owned. Another city-maintained section exists in the city of Lockport from Washburn Street (five blocks east of NY 78) to the eastern city line. Two villages—Medina and Newark—also maintain parts of NY 31. In Medina, the locally owned section begins at the Falls Road Railroad crossing in the village center and ends at Center Street (NY 31E). The portion in Newark, meanwhile, extends from Mason Street (one block west of NY 88) to the eastern village line.
As of 2009, the most heavily trafficked segments of NY 31 lie in and around the city of Rochester. The busiest of these, from Interstate 590 (I-590) to NY 65 in the eastern suburb of Brighton, carries in excess of 40,000 vehicles per day on average. Two other segments—between South and Woodbury Avenues in downtown Rochester and from NY 65 to French Road in Brighton and Pittsford—have traffic volumes in excess of 30,000 vehicles. On the other hand, the portion of NY 31 in the Oneida County town of Vernon between the Vernon Downs racetrack and Youngs Road handles just 910 cars per day on average, making it the least-traveled segment of the route.

### Western New York

NY 31 begins at an intersection with NY 104 in northern Niagara Falls. After a short distance eastward through the northern fringe of the city as College Avenue, the road encounters NY 61 at the northeastern city line. NY 31 continues northeastward into the town of Niagara, following Witmer Road to an interchange with I-190 at exit 24. Past I-190, NY 31 meets NY 265 south of the Robert Moses Niagara Power Plant reservoir. At the intersection, NY 31 becomes Saunders Settlement Road, a name it retains for almost 15 miles (24 km). Continuing through Niagara County, NY 31 passes the south end of the Tuscarora Indian Reservation ahead of a brief overlap with NY 429. Past the east end of the concurrency, NY 429 travels north toward NY 104 while NY 31 continues east past SUNY Niagara to an intersection with NY 425, the final state route that NY 31 intersects before entering the Lockport area.
West of Lockport, NY 31 crosses NY 270 and NY 93. Continuing into the city, NY 31 meets NY 78 (Transit Road) at an intersection partially located over the Erie Canal. NY 31 heads eastward through Lockport, intersecting the northern terminus of NY 77 at the eastern edge of the city. While NY 77 continues along the right-of-way of NY 31, NY 31 exits, following a northeasterly alignment through Gasport to Middleport, where it acts as the western and southern terminus of NY 31E and NY 271, respectively. Just east of town, NY 31 crosses the first of nine county lines along its routing, entering Orleans County.
At an intersection south of Medina, NY 31A branches off, continuing straight from NY 31 while NY 31 turns north to overlap NY 63 for a short distance between NY 31A and NY 31E in Medina. At NY 31E, NY 31 separates from NY 63, following the path of NY 31E east out of the village. 10 miles (16 km) to the east, NY 31 crosses NY 98 in Albion. Midway between Albion and Holley, NY 31 intersects the southern end of NY 387. NY 31 continues to the southeast, entering Holley and intersecting NY 237 in the village center. The route quickly leaves Holley soon after, crossing into Monroe County just over a mile (about 1.6 km) from the village line.

### Rochester area
#### Western suburbs and downtown

Just inside the Monroe County line, the road traverses the Erie Canal before intersecting Redman Road about 1.5 miles (2.4 km) west of the village of Brockport. NY 31 turns south here, following Redman Road back across the Erie Canal and past the western fringe of the SUNY Brockport campus to a junction with Fourth Section Road. NY 31A enters the intersection from the west and ends at NY 31 while the latter turns east onto Fourth Section Road. NY 31 progresses eastward, intersecting NY 19 in a commercialized area directly south of Brockport and becoming Brockport–Spencerport Road. East of the village in the surrounding town of Sweden, NY 31 meets the southern terminus of NY 260. The route continues eastward, paralleling the Erie Canal as it enters Ogden, where NY 31 comes to the current western terminus of NY 531, the Spencerport Expressway, and, shortly after, the northern terminus of NY 36. NY 31, now sandwiched by the canal to the north and NY 531 to the south, heads eastward into the village of Spencerport, where it becomes Nichols Street and meets NY 259 in the center of the community.
Outside of Spencerport, NY 31 becomes Spencerport Road as it heads eastward into the town of Gates. The route heads past residential neighborhoods to the north and mostly undeveloped land to the south as it enters the hamlet of Elmgrove, built up around NY 31's junction with NY 386. Not far to the east, NY 31 enters North Gates, a densely populated residential community near the northern town line of Gates. In the southeastern outskirts of the community, NY 31 intersects Lyell and Howard Roads at a junction that once served as the western terminus of NY 47. NY 31 continues east from here as Lyell Avenue, meeting NY 390 at an interchange immediately north of the route's larger interchange with I-490. Not far to the east is the Rochester city line, which NY 31 crosses upon traversing the Erie Canal once again.
NY 31 follows Lyell Avenue through the city to West Broad Street, where it turns to follow Broad Street southeastward past Rochester Community Sports Complex Stadium. It heads onward toward a pair of overpasses, one carrying I-490 and another holding the CSX Transportation-owned Rochester Subdivision. NY 31 continues under both, following the former path of the Erie Canal southeast through the city to the eastern terminus of NY 33 at West Main Street. NY 31 follows West Main Street to the east, passing under I-490 once again before breaking from Main Street and occupying East Broad Street. The street proceeds to the east, passing through the commercial heart of the city. Just east of Exchange Boulevard, the northern terminus of NY 383, the route crosses the Genesee River on the Broad Street Aqueduct.
East of the waterway, NY 31 follows East Broad Street to South Avenue, where it turns south for two blocks to a junction with Woodbury Boulevard. It turns east here, following Woodbury Boulevard for two blocks to Chestnut Street, at which point NY 31 turns southward to follow Chestnut Street. Westbound NY 31 in the area, however, follows one block of Woodbury Boulevard and two blocks of South Clinton Avenue to reach East Broad Street. At the Inner Loop, Chestnut Street becomes Monroe Avenue, the name NY 31 retains to Pittsford. Over this stretch, NY 31 maintains a constant southeasterly progression as it passes through southeastern Rochester and the town of Brighton. As the route exits downtown Rochester, it intersects I-490 at exit 18. The route continues onward, passing Cobbs Hill Park and entering Brighton, where it traverses areas more commercial in nature and meets the former routing of NY 47 a second time in an area of town known as Twelve Corners.

#### Eastern suburbs and Wayne County

In the eastern portion of Brighton, NY 31 meets I-590 by way of an interchange and intersects NY 65. From NY 65, NY 31 continues southeast into the town of Pittsford, passing along the southern fringe of Oak Hill Country Club and paralleling the former right-of-way of the Auburn Road railroad line to the village of Pittsford. Just inside the village limits, NY 31 crosses the Erie Canal once more and intersects the West Shore Subdivision at-grade. In the village center, NY 31 intersects NY 96. East of NY 96, the route crosses over the Erie Canal once again and exits the village. Outside of the village, NY 31 parallels I-490 for a short distance across slightly open areas before connecting to the freeway near the Perinton town line at exit 26. The route continues east into Perinton, where it traverses the Erie Canal for one final time within the county and crosses NY 250 near Perinton Square Mall.
East of the mall, the route passes through increasingly rural areas, with the exception of the hamlet of Egypt midway between NY 250 and the Wayne County line. NY 31 progresses onward into Wayne County, where the Rochester suburbs end as the route heads eastward through the mostly rural town of Macedon to the village of Macedon. Prior to exiting the village, NY 31 meets the southern terminus of NY 350 and the eastern terminus of NY 31F. The highway continues on, exiting the village and proceeding eastward through the town of Macedon, bordered by the Erie Canal to the north and Ganargua Creek to the south. In Palmyra, NY 31 joins NY 21 through the center of the village.
From Palmyra east, the route parallels the Erie Canal for a considerable distance. Between Palmyra and Newark, NY 31 dips into Ontario County for less than a mile (about 1.6 km) before reentering Wayne County. In Newark, NY 31 intersects NY 88. Farther east, in Lyons, it crosses NY 14 and the Erie Canal. At Clyde, NY 31 briefly overlaps NY 414 in the center of the village. Outside of Clyde, the Erie Canal veers off to the southeast while NY 31 continues east alongside the Rochester Subdivision to the hamlet of Savannah, the final centralized community within Wayne County. Here, NY 31 intersects NY 89 and follows it southward toward the Seneca County line. At the county line, NY 89 turns west to follow the county line while NY 31 heads southeast into Seneca County. The route proceeds across the northeasternmost corner of the county before crossing into Cayuga County via a bridge over the Erie Canal after just 1.5 miles (2.4 km).

### Central New York

Shortly after entering Cayuga County, NY 31 crosses and begins to parallel the New York State Thruway (I-90), which NY 31 does for most of its routing west of the outer Syracuse suburbs. In Port Byron, NY 31 intersects NY 38 in the center of the village. The routes embark on an overlap through the village before separating near the eastern edge of Port Byron. NY 31 continues alone to Weedsport, where the route meets NY 34 and County Route 31B (CR 31B, formerly NY 31B) north of the village. East of Weedsport, NY 31 and the Thruway are joined by the CSX Rochester Subdivision mainline, which runs down the center of the strip of land created by the Thruway to the north and NY 31 to the south.
Continuing into Onondaga County and the village of Jordan, NY 31 begins to make a turn northward while connecting to the northern end of NY 317 (the former northern terminus of NY 31C) a short distance north of the village center. With the turn complete, NY 31 traverses the CSX mainline and the Thruway via successive overpasses before returning to level ground and resuming an eastward alignment in the shadow of the Thruway. Once inside the limits of Van Buren, NY 31 separates from the Thruway, curving north and intersecting the western terminus of NY 173 in quick succession. The alignment remains fairly straight to the outskirts of Baldwinsville, where NY 31 turns to the right onto Downer Street to avoid the Seneca River to the immediate north. The eastward progression is limited, however, as NY 31 merges with NY 690 northward, traversing the Seneca River and straddling the western edge of Baldwinsville.
On the north bank of the river, NY 31 exits NY 690 but joins NY 370 at the end of the exit ramp. Together, NY 31 and 370 enter Baldwinsville, intersecting NY 48 in the village center. Three blocks from NY 48, NY 370 splits from NY 31. As NY 370 heads for downtown Syracuse, NY 31 continues east, overlapping NY 631 for a short distance before passing through Lysander New Community and crossing the Seneca River again. Now in the town of Clay, NY 31 meets NY 481 at an interchange in the shadow of the Great Northern Mall. NY 31 continues eastward through the town to Cicero, where it meets US 11 and I-81 at exit 30. As NY 31 heads away from I-81, Oneida Lake slowly becomes visible to the north. NY 31 comes within a mile (about 1.6 km) of the lakeshore before turning slightly to parallel the shoreline. Near the Madison County line, here delimited by Chittenango Creek, NY 31 enters the western half of Bridgeport and meets the eastern terminus of NY 298 at a roundabout near the banks of the creek. NY 31 continues eastward, crossing the creek and entering Madison County and the remaining portion of Bridgeport.
East of Bridgeport, NY 31 moves closer to Oneida Lake, eventually coming to within 200 yards (180 m) of the lakeshore at points. Near the eastern edge of Oneida Lake, NY 31 intersects NY 13 at a roundabout in the hamlet of South Bay. To the east, NY 31 meets the northern terminus of NY 316 at a junction adjacent to the Oneida County line, again marked by a body of water, the Oneida Creek. NY 31 traverses the creek and proceeds eastward through the Oneida County town of Verona. Northeast of Oneida, NY 31 intersects NY 46 adjacent to the path of the old routing of the Erie Canal. Farther east, NY 31 intersects NY 365 just north of its interchange with the Thruway. The Turning Stone Resort & Casino, located 2 miles (3 km) south of the intersection, is accessible via NY 365.
Past NY 365, NY 31 passes over the Thruway (I-90) for the final time. The route continues southeast into the town of Vernon and the village of the same name within, where NY 31 intersects NY 5. NY 31 joins NY 5, following the route eastward for about 0.75 miles (1.21 km) out of the village to Stuhlman Road. Here, NY 31 splits from NY 5 and follows Stuhlman Road southward, passing to the east of Vernon Downs before intersecting Youngs Road. Stuhlman Road ends here; however, NY 31 turns eastward onto Youngs Road, following it into the hamlet of Vernon Center. The route continues eastward into the center of the community, where it ends at a large traffic circle with NY 26.

## History
### Early designations

In 1908, the New York State Legislature established a statewide legislative route system that initially consisted of 37 unsigned routes. Much of what is now NY 31 west of Jordan became part of one of three routes, namely Route 14, Route 20, and Route 30. Route 30 began at the Niagara Falls city line (delimited by modern NY 61) and followed current NY 31 east to Sanborn, where it turned north onto modern NY 429. The route followed current NY 429 to Ridge Road in Porter, at which point it turned to follow Ridge Road eastward to what is now NY 63 in Ridgeway. Route 30 went south here, utilizing modern NY 63 between Ridgeway and Medina. It rejoined what is now NY 31 in the latter location and proceeded eastward on roughly current NY 31 to the Rochester city line. In the vicinity of Brockport, however, Route 30 was routed on West Avenue and modern NY 19 instead. From the southeastern city line to NY 96 in the village of Pittsford, Monroe Avenue (modern NY 31) was part of Route 14, which turned south onto South Main Street in the center of Pittsford. Lastly, the segment what is now NY 31 between current NY 31F and NY 350 in the village of Macedon and NY 317 in Jordan was part of Route 20.
Two spur routes were added to the definition of Route 30 in 1914. One of these, a route connecting Lockport to Medina, utilized what is now NY 31 from the Lockport city line to NY 77 and from Gasport Road in Gasport to Medina (via modern NY 31E). On March 1, 1921, several routes were altered or eliminated as part of a partial renumbering of the legislative route system. Among these was Route 30, which was modified to follow Ridge Road instead between Ridgeway and Rochester. Its former routing from Medina eastward and the Lockport spur of Route 30 mostly became part of an extended Route 20, which now began in North Tonawanda and followed modern NY 425 and Lower Mountain, Gothic Hill, and Upper Mountain Roads north and east through Cambria Center to Lockport. From Middleport to Medina, however, Route 20 was routed on modern NY 31 instead. East of Rochester, the section of Route 20 between Fairport and Macedon was reconfigured to utilize what is now NY 250 and NY 31.

### Assignment

The first set of posted routes in New York were assigned in 1924. At this time, all of legislative Route 20 west of Rochester became part of NY 3, a cross-state route that began in North Tonawanda and ended in Plattsburgh. By 1926, NY 31 was assigned to an alignment extending from Niagara Falls to Oneida. The route began at NY 34 (now NY 104) in Niagara Falls and followed College Avenue east to the city line, from where it continued eastward to Rochester on the alignment of legislative Route 30. Within the city of Rochester, NY 31 continued east on Ridge Road to Lake Avenue, where it turned south to enter downtown Rochester, becoming State Street at Lyell Avenue. At East Main Street, NY 31 resumed its eastward alignment, crossing the Genesee River and continuing on Main Street to Monroe Avenue, which, at the time, connected directly with Main Street. NY 31 turned right on Monroe Avenue, rejoining its present alignment of NY 31 near Union Street.
East of Rochester, NY 31 continued eastward to Jordan, utilizing the Rochester–Pittsford portion of legislative Route 14, the Perinton–Jordan segment of Route 20, and its current alignment between Pittsford and Perinton. From Weedsport to Jordan, NY 31 used a slightly different routing. It initially exited the village on Clinton Road and followed that road to Jordan, where NY 31 turned north and followed modern NY 317 and NY 31 north and east to modern CR 84. NY 31 turned north here, using what is now Old Route 31, current NY 31, and Downer Street to reach Baldwinsville. Within the village, NY 31 followed Downer Street and what is now NY 48 along Syracuse Street between Downer and Genesee Streets. Outside of Baldwinsville, NY 31 remained on its current routing to Cicero, where it followed a more northerly alignment along Lakeshore Road. It rejoined its modern alignment near the eastern town line, and followed it east to what is now NY 316 in Lenox. From here, NY 31 went southeastward to NY 5 in Oneida by way of modern NY 316 and NY 46.

### Truncations and extensions

In the late 1920s, NY 31 was rerouted west of what is now NY 429 to follow Ridge Road to Lewiston, where it ended at then-NY 34. The former routing of NY 31 into downtown Niagara Falls was redesignated as NY 31A. In the 1930 renumbering of state highways in New York, NY 31 was realigned east of Oneida Valley to continue east to Utica by way of its modern alignment plus Spring and Lowell Roads and several city streets. At the same time, NY 3 was realigned to continue west to Niagara Falls over modern NY 31, overlapping NY 31A west of Sanborn. Two other portions of NY 3—from the modern junction of NY 31 and NY 77 east of Lockport to Gasport and between Middleport and Medina—were also realigned at this time to use modern NY 31 and the old routing of legislative Route 30 Spur along modern NY 31E, respectively.
What is now NY 31 from NY 365 in Verona to NY 5 in Vernon became part of NY 234 c. 1932. The new north–south highway continued south to NY 26 in Vernon Center by way of NY 5 and Churton and Youngs Roads. Also around this time, NY 3 was realigned between Shawnee and Lockport to use Saunders Settlement Road. US 104, meanwhile, was assigned c. 1935, following Ridge Road from Niagara Falls east to Maple View in Oswego County. The assignment of the highway led to the reconfiguration of several state highways in western and central New York, including NY 3 and NY 31. The latter route was rerouted west of Rochester to follow the former alignment of NY 3 to Niagara Falls while NY 3 was truncated to a location in northern Cayuga County. At the same time, NY 31A was reassigned to a new alignment extending from Middleport to Knowlesville via Medina.
NY 31 was truncated to NY 365 in Verona in the early 1940s; as a result, NY 31 and NY 234 now had a common terminus. Despite this fact, the two routes continued to co-exist for the next 40 years. On April 1, 1981, ownership and maintenance of the Churton Road portion of NY 234 was transferred from the state of New York to Oneida County as part of a highway maintenance swap between the two levels of government. Two of highways that the state received in return were Stuhlman Road (CR 81) and the segment of Youngs Road (CR 13) between Stuhlman Road and Churton Road (NY 234). The two new state highways did not become a rerouting of NY 234, however, as the NY 234 designation was eliminated at this time. Instead, NY 31 was extended southeastward over NY 234's former routing to Vernon, from where it continued to Vernon Center by way of NY 5, Stuhlman and Youngs Roads. Churton Road was redesignated as CR 94.

### Realignments

Several small-scale realignments of NY 31 have occurred over the years. NY 31 was altered c. 1938 to follow its modern alignment through Cicero, bypassing Lakeshore Road to the south. In the late 1930s, NY 31 was moved onto a new, more northern highway between Weedsport and Jordan. The section of the route between Middleport and Medina was shifted southward on January 1, 1949, to follow what had been NY 31A between the two villages. NY 31's old northerly routing became NY 31E. The portion of NY 31 northeast of Jordan was straightened at some point in the late 1970s or early 1980s to bypass the hamlet of Jacks Reef to the south and east. In the early 1980s, NY 31 was rerouted near Baldwinsville to follow NY 690 and NY 370 into the village.
Around the same time as the Baldwinsville realignment, NY 31 was moved onto its current alignment southwest of Brockport, bypassing the village on Redman and Fourth Section Roads and eliminating an overlap with NY 19. The new alignment of NY 31 utilized part of NY 31A, which was truncated westward to the junction of Redman and Fourth Section Roads. Reference markers along the Fourth Section Road segment still read "31A". The former routing of NY 31 into Brockport became NY 943B, an unsigned reference route, and later also became part of NY 19 Truck. The Redman Road portion of NY 31, meanwhile, was initially maintained by Monroe County as part of CR 236. In 2007, ownership and maintenance of the Redman Road segment of NY 31 was transferred from Monroe County to the state of New York as part of a highway maintenance swap between the two levels of government. A bill (S4856, 2007) to enact the swap was introduced in the New York State Senate on April 23 and passed by both the Senate and the New York State Assembly on June 20. The act was signed into law by Governor Eliot Spitzer on August 28. Under the terms of the act, it took effect 90 days after it was signed into law; thus, the maintenance swap officially took place on November 26, 2007.

### Rochester

The portion of NY 31 in downtown Rochester between Brown Street and South Avenue runs along the old path of the Erie Canal through the city. When the canal was diverted to bypass the city to the south in 1920, the canal bed became part of the Rochester Subway while a 4,000-foot (1,219 m) bridge was built over the bed to carry a new street named Broad Street. None of Broad Street was initially part of NY 31, however; when NY 31 replaced NY 3 west of Rochester c. 1935, it entered the city by way of NY 3's old routing on Lyell Avenue and rejoined its original alignment at State Street. In the late 1930s, NY 31 was realigned through downtown to follow Smith and Bausch Streets east across the Genesee River and St. Paul Street and South Avenue south to Woodbury Boulevard, which at the time connected to Monroe Avenue one block to the east at South Clinton Avenue. NY 31 was altered once again c. 1964 to leave Lyell Avenue at Broad Street and follow West and East Broad Streets through downtown to South Avenue.
From West Main Street to South Avenue, the bridge supports were largely built with concrete while the supports on the section between Brown Street and West Main Street were mostly built with steel. Unlike the concrete supports, the steel supports flexed throughout the year, creating holes and gaps in the pavement on the deck above. The city of Rochester, which owns and maintains the section of NY 31 within the city, closed the outer northbound lane of West Broad Street (westbound NY 31) between Brown and Main Streets in June 2008 for this reason.
In February 2010, work began on a $17.5 million project to either demolish or rehabilitate the Broad Street bridge between Brown Street and Exchange Boulevard (NY 383). As part of the project, the section of the bridge between Brown and West Main Streets would be removed—allowing for the canal bed to be filled in and the road to be rebuilt—while the segment between West Main Street and Exchange Boulevard would be rehabilitated. The portion of Broad Street between Allen and Main Streets was closed to all traffic in February and was originally scheduled to open on October 30. It finally reopened to traffic on December 3.
Farther north, work on the segment between Brown and Allen Streets was performed on one side at a time, keeping one side of Broad Street open at all times. The northbound lanes of this segment were closed on April 7, and one direction of the segment was closed until November. It fully reopened on December 3 along with the West Main Street–Allen Street segment. Rehabilitation of Broad Street from West Main Street to Exchange Boulevard was expected to be completed in mid-to-late 2011. The entire project, which also calls for landscape improvements to the area surrounding West Broad Street, was tentatively scheduled to be finished in February 2012.

### Spencerport

On June 8, 2017, Governor of New York Andrew Cuomo announced that they would upgrade the intersection of NY 531 and NY 36. This would improve the connection between NY 531 and NY 31 for safety purposes. Instead of the abrupt end at NY 36, a new road would be constructed to connect NY 531 and NY 31. NY 31 would be widened from Gallup Road to NY 531; a center median would be added and a portion of NY 31 between NY 531 and NY 36 would become a cul-de-sac for the residences in the area. NYSDOT projects that the job would be completed by the end of 2018.

## Suffixed routes

NY 31 has had as many as eight suffixed routes using six different designations; all but three have been eliminated or renumbered.
* The NY 31A designation has been used for three distinct highways, two of which briefly co-existed:
** The first NY 31A was a connector between NY 31 in Jordan and NY 5 in the village of Elbridge. It was assigned in the mid-1920s and absorbed by NY 41 in the 1930 renumbering of state highways in New York.
** The second NY 31A was an alternate route of NY 31 between Niagara Falls and Cambria via Sanborn. It was assigned in the late 1920s and mostly supplanted by a realigned NY 31 c. 1935.
** The current NY 31A (22.89 miles or 36.84 kilometres) is an alternate route of NY 31 between the villages of Medina and Brockport. The route bypasses Medina, Albion, and Holley to the south via Clarendon. It was assigned c. 1935.
* The NY 31B designation has been used for two distinct highways:
** The first NY 31B was a short-lived connector in Cicero that linked Lakeshore Road (at the time NY 31) to US 11 by way of Mud Mill Road. It was assigned c. 1932 and removed c. 1933.
** The second NY 31B was a connector linking NY 31 in Weedsport to NY 5 in the town of Elbridge. The designation was assigned c. 1933 and removed in 1980. It was replaced with CR 31B in Cayuga County and CR 99 in Onondaga County.
* NY 31C was a connector between NY 31 in Jordan to NY 5 in Elbridge. It was assigned c. 1933 and partially replaced by NY 317 in 2003.
* NY 31D was a spur that extended from the Orleans County line to NY 31 south of Brockport in Monroe County. The route was assigned c. 1935 and became the easternmost portion of NY 31A c. 1963.
* NY 31E (5.29 miles or 8.51 kilometres) is an alternate route of NY 31 between the villages of Middleport and Medina. It was assigned in 1949.
* NY 31F (13.59 miles or 21.87 kilometres) is an alternate route of NY 31 that extends from NY 96 in Pittsford to NY 31 in Macedon. The route bypasses Pittsford and southern Perinton to serve East Rochester and Fairport. It was assigned in 1949.

## Major intersections

| County | Location | mi | km | Destinations | Notes |
| Niagara | Niagara Falls | 0.00 | 0.00 | NY 104 | Western terminus |
| Niagara | Niagara Falls–Niagara city/town line | 1.02 | 1.64 | NY 61 | |
| Niagara | Niagara | 2.12 | 3.41 | I-190 – Canada, Buffalo | Exit 24 (I-190) |
| Niagara | Niagara | 2.71 | 4.36 | NY 265 | |
| Niagara | Town of Lewiston | 8.94 | 14.39 | NY 429 south – North Tonawanda, Buffalo | Western terminus of NY 31 / NY 429 overlap; hamlet of Sanborn |
| Niagara | Lewiston–Cambria town line | 9.19 | 14.79 | NY 429 north | Eastern terminus of NY 31 / NY 429 overlap; hamlet of Sanborn |
| Niagara | Cambria | 11.43 | 18.39 | NY 425 – North Tonawanda, Wilson | |
| Niagara | Cambria–Lockport town line | 15.84 | 25.49 | NY 270 south – North Tonawanda, Buffalo NY 93 west – Youngstown | Northern terminus of NY 270; western terminus of NY 31 / NY 93 overlap |
| Niagara | Town of Lockport | 17.60 | 28.32 | NY 93 east | Eastern terminus of NY 31 / NY 93 overlap |
| Niagara | City of Lockport | 19.09 | 30.72 | NY 78 | |
| Niagara | Town of Lockport | 22.02 | 35.44 | NY 77 south | Northern terminus of NY 77 |
| Niagara | Middleport | 30.84 | 49.63 | NY 31E east / NY 271 north – Business District | Western terminus of NY 31E; southern terminus of NY 271 |
| Orleans | Medina | 35.33 | 56.86 | NY 31A east NY 63 south | Western terminus of NY 31A; southern terminus of NY 31 / NY 63 overlap |
| Orleans | Medina | 36.29 | 58.40 | NY 31E west NY 63 north | Eastern terminus of NY 31E; northern terminus of NY 31 / NY 63 overlap |
| Orleans | Village of Albion | 46.50 | 74.83 | NY 98 | |
| Orleans | Murray | 51.71 | 83.22 | NY 387 north | Hamlet of Fancher; southern terminus of NY 387 |
| Orleans | Holley | 55.91 | 89.98 | NY 237 | |
| Monroe | Sweden | 60.79 | 97.83 | NY 31A west | Eastern terminus of NY 31A |
| Monroe | Sweden | 61.99 | 99.76 | NY 19 – Brockport, Bergen | |
| Monroe | Sweden | 64.22 | 103.35 | NY 260 north | Southern terminus of NY 260 |
| Monroe | Ogden | 66.73 | 107.39 | NY 531 east NY 36 south | Western terminus of NY 531; northern terminus of NY 36 |
| Monroe | Spencerport | 69.35 | 111.61 | NY 259 to NY 531 | |
| Monroe | Town of Gates | 73.05 | 117.56 | NY 386 to I-490 | |
| Monroe | Town of Gates | 75.31 | 121.20 | Howard Road ( NY 940L) | Northern terminus of unsigned NY 940L; hamlets of North Gates and Gates Center |
| Monroe | Town of Gates | 75.72 | 121.86 | NY 390 (Rochester Outer Loop) to I-390 / I-490 – Airport | Exit 21 (NY 390) |
| Monroe | Rochester | 76.89 | 123.74 | Mount Read Boulevard ( NY 940K) | |
| Monroe | Rochester | 78.81 | 126.83 | I-490 west (Western Expressway) | Entrance only |
| Monroe | Rochester | 78.94 | 127.04 | Allen Street to I-490 east (Western Expressway) | Entrance only |
| Monroe | Rochester | 79.22 | 127.49 | NY 33 west (West Main Street) | Eastern terminus of NY 33 |
| Monroe | Rochester | 79.50 | 127.94 | To I-490 east (Western Expressway) via Plymouth Avenue ( NY 942G) | |
| Monroe | Rochester | 79.64 | 128.17 | NY 383 south (Exchange Boulevard) | Northern terminus of NY 383 |
| Monroe | Rochester | | | NY 15 south (South Avenue) | |
| Monroe | Rochester | | | NY 15 north (South Clinton Avenue) | Northern terminus of NY 15 |
| Monroe | Rochester | 80.39 | 129.38 | Inner Loop | |
| Monroe | Rochester | 81.46 | 131.10 | I-490 (Eastern Expressway) | Exit 18 (I-490) |
| Monroe | Brighton | 83.99 | 135.17 | I-590 – Irondequoit | Exit 2 (I-590) |
| Monroe | Brighton | 84.32 | 135.70 | NY 65 | No eastbound access to NY 65 north |
| Monroe | Village of Pittsford | 86.50 | 139.21 | NY 96 | |
| Monroe | Perinton | 88.27 | 142.06 | I-490 to New York Thruway – Victor, Rochester | Exit 26 (I-490) |
| Monroe | Perinton | 90.55 | 145.73 | NY 250 | |
| Wayne | Town of Macedon | 98.02 | 157.75 | NY 31F west / NY 350 north – Ontario Center | Eastern terminus of NY 31F; southern terminus of NY 350; hamlet of Macedon |
| Wayne | Village of Palmyra | 101.51 | 163.36 | NY 21 south to New York Thruway | Western terminus of NY 21 / NY 31 overlap |
| Wayne | Village of Palmyra | 102.13 | 164.36 | NY 21 north – Marion | Eastern terminus of NY 21 / NY 31 overlap |
| Wayne | Newark | 110.16 | 177.29 | NY 88 | |
| Wayne | Town of Lyons | 116.14 | 186.91 | NY 14 to New York Thruway – Sodus Point, Geneva | Hamlet of Lyons |
| Wayne | Clyde | 123.59 | 198.90 | NY 414 | |
| Wayne | Town of Savannah | 129.98 | 209.18 | NY 89 north | Northern terminus of NY 31 / NY 89 overlap; hamlet of Savannah |
| Wayne | Town of Savannah | 133.21 | 214.38 | NY 89 south – Seneca Falls | Southern terminus of NY 31 / NY 89 overlap |
| Cayuga | Montezuma | 135.42 | 217.94 | NY 90 | Northern terminus of NY 90 |
| Cayuga | Port Byron | 139.55 | 224.58 | NY 38 north | Northern terminus of NY 31 / NY 38 overlap |
| Cayuga | Port Byron | 139.95 | 225.23 | NY 38 south | Southern terminus of NY 31 / NY 38 overlap |
| Cayuga | Weedsport | 143.34 | 230.68 | Brutus Street to NY 5 | Former western terminus of NY 31B |
| Cayuga | Weedsport | 143.89 | 231.57 | NY 34 to I-90 / New York Thruway – Cato, Auburn | |
| Onondaga | Jordan | 148.33 | 238.71 | NY 317 south – Jordan Business District | Northern terminus of NY 317 |
| Onondaga | Van Buren | 154.22 | 248.19 | NY 173 east – Warners | Western terminus of NY 173; hamlet of Ionia |
| Onondaga | Van Buren | 158.78 | 255.53 | NY 690 south to I-90 – Syracuse | Interchange; southern terminus of NY 31 / NY 690 overlap |
| Onondaga | Lysander | 159.68 | 256.98 | NY 690 north – Fulton | Interchange; northern terminus of NY 31 / NY 690 overlap |
| Onondaga | Lysander | 160.16 | 257.75 | NY 370 west – Meridian | Western terminus of NY 31 / NY 370 overlap |
| Onondaga | Baldwinsville | 161.70 | 260.23 | NY 48 | |
| Onondaga | Baldwinsville | 162.00 | 260.71 | NY 370 east | Eastern terminus of NY 31 / NY 370 overlap |
| Onondaga | Lysander | 162.99 | 262.31 | NY 631 south | Western terminus of NY 31 / NY 631 overlap |
| Onondaga | Lysander | 163.48 | 263.10 | NY 631 north – Radisson | Eastern terminus of NY 31 / NY 631 overlap; community of Radisson |
| Onondaga | Clay | 165.62 | 266.54 | CR 57 (CR 91) | Formerly NY 57; hamlet of Moyers Corners |
| Onondaga | Clay | 167.23 | 269.13 | NY 481 – Oswego, North Syracuse | Exit 12 (NY 481) |
| Onondaga | Cicero | 173.06 | 278.51 | US 11 | |
| Onondaga | Cicero | 173.24 | 278.80 | I-81 – Watertown, Syracuse | Exit 98 (I-81) |
| Onondaga | Bridgeport | 181.07 | 291.40 | NY 298 south | Northern terminus of NY 298; roundabout |
| Madison | Lenox | 192.26 | 309.41 | NY 13 – Sylvan Beach, Canastota | Roundabout; hamlet of South Bay |
| Madison | Lenox | 194.14 | 312.44 | NY 316 south – Oneida | Northern terminus of NY 316; hamlet of Oneida Valley |
| Oneida | Town of Verona | 196.52 | 316.27 | NY 46 – Rome, Oneida | Hamlet of State Bridge |
| Oneida | Town of Verona | 201.65 | 324.52 | NY 365 to I-90 / New York Thruway – Oneida Castle, Rome | Hamlet of Verona |
| Oneida | Village of Vernon | 205.68 | 331.01 | NY 5 west – Sherrill | Western terminus of NY 5 / NY 31 overlap |
| Oneida | Village of Vernon | 206.41 | 332.18 | NY 5 east – Utica | Eastern terminus of NY 5 / NY 31 overlap |
| Oneida | Town of Vernon | 208.74 | 335.93 | NY 26 – Oriskany Falls | Eastern terminus; hamlet of Vernon Center |
| 1.000 mi = 1.609 km; 1.000 km = 0.621 mi Concurrency terminus Incomplete access ||||||