|Fate||Rebranded as Marine Atlantic|
|Parent||Canadian National Railway|
CN Marine was created by parent Canadian National Railway (CN) in 1977 as a means to group the company's ferry operations in eastern Canada into a separate operating division. It had previously been part of the Canadian National Steamship Company. The majority of these ferries also required federal subsidies to supplement fares, thus CN was unwilling to have the operating losses appear in the railway's accounts. CN Marine also operated the Newfoundland Dockyard in St. John's, Newfoundland.
CN Marine undertook several major service improvements on the constitutionally mandated services to Newfoundland and Prince Edward Island by commissioning the construction of the new vessels Abegweit and Caribou in the late 1970s and early 1980s.
In 1986, the federal government approved a restructuring at CN which saw the company remove itself completely from the east coast ferry service, which was renamed Marine Atlantic. This move was in advance of CN abandoning railway services on the islands of Prince Edward Island and Newfoundland, which had required use of CN/CN Marine rail ferries. At the time of the changeover to Marine Atlantic, the last of the rail ferries to Newfoundland were retired, with that province's railway abandoned in September 1988; Prince Edward Island followed in December 1989.
Marine Atlantic itself made many changes a decade later in 1997, virtually decimating the remnants of CN Marine by removing itself from all routes and vessels except the constitutionally mandated service to Port aux Basques and the seasonal service to Argentia, both originating in North Sydney. Also in 1997 Marine Atlantic sold off the Newfoundland Dockyard in St. John's to a private operator. It was renamed NewDock-The St. John's Dockyard Company.
- Port Borden, PEI to Cape Tormentine, NB
- Saint John, NB to Digby, NS (took over from Canadian Pacific in early 1976).
- Bar Harbor, ME (and sometimes Portland, ME) to Yarmouth, NS
- North Sydney, NS to Port aux Basques, NL
- North Sydney, NS to Argentia, NL
- Port aux Basques, NL to Argentia, NL (coastal service)
- St. John's, NL to St. Anthony, NL (coastal service)
- Lewisporte, NL to Goose Bay, NL (coastal service)
- St. Anthony, NL to Nain, NL (coastal service)