The victim was struck on the railroad tracks at about 7:25 a.m. near the intersection of Sunset Avenue and Caspers Street, a few blocks north of the Edmonds ferry terminal.
BNSF Railway spokesman Gus Melonas said the man was walking on the tracks toward the train. He says the train's crew blew its horn and applied the emergency brake but weren't able to stop in time and the man was run over.
Sgt. Mark Marsh of the Edmonds police later said the victim was identified as a 35-year-old man last known to have resided in Mountlake Terrace. His name is being withheld pending notification of his next of kin.
The Chicago-bound freight train came to a stop after the accident, blocking access to and from the busy Edmonds ferry terminal just as it was about to unload cars and passengers who had boarded at Kingston.
The train remained in place while an investigation was conducted.
The train's brake system also was damaged during the collision which caused an additional delay to clearing the tracks and enabling the ferry to unload its passengers.
At 11:25 a.m., the railroad crossings at Main Street and Dayton Street were cleared.
Ferry service was set to resume with the 12:05 p.m. sailing from Edmonds and the 12:50 p.m. sailing from Kingston.