CR 504 begins at an intersection with CR 655 Alternate in Montville, Morris County opposite New Jersey Transit's Montclair-Boonton Line from US 202. From this point, the route heads north on two-lane undivided Jacksonville Road, passing through wooded residential areas. The route makes a turn to the northeast and enters Lincoln Park. Upon heading east, CR 504 briefly forms the border between Kinnelon to the north and Lincoln Park to the south before running between Pequannock Township to the north and Lincoln Park to the south. The route passes farmland to the north and Lincoln Park Airport to the south, fully entering Pequannock Township at the Beaverbrook/Hillview Road intersection. In this area, CR 504 passes by several homes as it comes to the CR 511 Alternate intersection. Upon intersecting CR 660, the route turns south onto the Newark-Pompton Turnpike, intersecting CR 635 and turning southeast into commercial areas. The road crosses an abandoned railroad line and enters residential areas again. Upon crossing the Pompton River, CR 504 enters Wayne in Passaic County. The route splits from the Newark-Pompton Turnpike by turning northeast onto Black Oak Ridge Road, with CR 683 continuing south on the Newark-Pompton Turnpike. CR 504 passes residential areas before coming to an intersection with US 202 and Route 23. The route has no direct access across this intersection, as the route runs concurrently with US 202 and Route 23. Therefore, motorists must use U-turn jughandles on US 202/Route 23 to continue across. After this intersection, CR 504 splits from US 202 north and becomes Ratzer Road and continuing east through wooded residential subdivisions, widening into a four-lane road. Upon intersecting CR 670, CR 504 curves north and becomes two-lane Alps Road, with CR 705 continuing east on Ratzer Road. Upon reaching an intersection with CR 689, the route turns east onto four-lane Paterson-Hamburg Turnpike, which heads through commercial areas. The road widens into a divided highway with jughandles and intersects CR 502 and CR 701. CR 504 narrows back into an undivided road and crosses CR 681 as it begins to head southeast through business areas with some woods. After passing St. Joseph's Wayne Hospital, CR 504 intersects CR 705 again and splits from the Paterson-Hamburg Turnpike, with CR 673 continuing along this road. CR 504 continues southeast on two-lane undivided Pompton Road, passing by the main entrance of William Paterson University. Upon meeting CR 676, the road comes into Haledon and continues east into wooded residential areas, intersecting CR 674 and CR 675. After crossing CR 677, the route heads southeast on Haledon Avenue and passes a mix of homes and businesses as it intersects CR 663 and CR 661. After crossing a stream, CR 504 forms the border between Prospect Park to the northeast and Haledon to the southwest, entering more urbanized residential development. At the CR 662 intersection, the road becomes the border between Prospect Park to the northeast and Paterson to the southwest and has junctions with CR 657 and CR 652. At the CR 655 intersection, CR 504 fully enters Paterson and forks to the left onto North Straight Street. A short distance later, the route intersects the northern terminus of CR 509 and makes a turn north onto Holsman Street, with CR 650 continuing southeast on Haledon Street. CR 504 briefly follows Holsman Street north before heading onto East Main Street. The road enters Prospect Park again as it begins to run along the west bank of the Passaic River, crossing CR 652. After this intersection, the route crosses into Hawthorne and passes businesses before coming to the CR 659 intersection. At this point, CR 504 becomes Wagraw Road and heads northeast into business and industrial areas prior to turning east near homes. After a junction with CR 665, the road passes under both New Jersey Transit's Main Line and the New York, Susquehanna and Western Railway's New Jersey Subdivision line before heading through more urban areas, reaching the CR 653 junction. At this point, CR 504 turns south onto Lincoln Avenue, and briefly runs between Hawthorne to the west and Fair Lawn, Bergen County to the east before crossing the Passaic River. After the river, CR 504 enters Paterson, Passaic County again and ends at the northern terminus of Route 20, which is routed on a one-way pair at this point. Past Route 20, Lincoln Avenue continues south as CR 653.