# List of stations and halts on the Ffestiniog Railway

By law, each new railway is required to mark off the distances along its line from a given point. The Ffestiniog Railway has changed that point three times in its existence. Originally the "Zero Point", as it is called was set near to the Dinas station at the north end of the line (at a location called Rhiwbryfdir, now buried under the slate tips).
The second "Zero Point" saw the line turn around and was located at the southern end of the line, on the quayside, at the Welsh Slate Cos. yard, some quarter-mile further on from Porthmadog Harbour railway station.
Following the revival of the line, and at a later date, the "Zero Point" was resited at the water tower at Porthmadog Harbour railway station.
The "accurate" measurement of the line has varied as the line has evolved over the years, not only from the changes above, but with the construction of the Deviation, and other realignments.
| Station | Place | Opened | Closed | Distance from Porthmadog | Notes |
| Porthmadog Harbour | Porthmadog | 1865 | Open | 0 | Junction with the original line from across the Britannia bridge to Welsh Slate Co. wharf. Junction with the Welsh Highland Railway 1923-1936 and from 2011. |
| Pen Cob Halt | Boston Lodge | 1956 | 1967 | 70 chains (1.41 km) | Opened 19 May 1956 used regularly only until 5 November 1957. |
| Boston Lodge Halt | Boston Lodge | 1928 | Open | 1 mile 5 chains (1.71 km) | Temporary terminus 23 July 1955 to end of 1955 season. Used as required mainly by staff. |
| Minffordd | Minffordd (near Portmeirion) | 1872 | Open | 2 miles 5 chains (3.32 km) | Joint station with the Cambrian Line. Temporary FR terminus 19 May 1956 to end of 1956 season. |
| Cae Ednyfed | Minffordd (near Portmeirion) | 1836 | 1863 | 2 miles 7 chains (3.36 km)? | There were stables here between 1836 and 1863 and this was a horse stage station. |
| Pen y Bryn Halt | Penrhyndeudraeth | 1957 | 1957 | 2 miles 63 chains (4.49 km) | Opened 20 April 1957 used regularly only until 5 November 1957. |
| Penrhyn | Penrhyndeudraeth | 1865 | Open | 3 miles 8 chains (4.99 km) | Temporary terminus 20 April 1957 to 5 November 1957. |
| Rhiw Goch (Passing Loop) | Penrhyndeudraeth | 1836 | Open | 4 miles 16 chains (6.76 km) | Passing loop for horse-drawn trains until 1863. Re-instated in 1975. |
| Plas (private) Station | Tan-y-Bwlch | 1865 | c. 1920 | 6 miles 2 chains (9.70 km) | Used only by the Oakeley household at Plas Tan y Bwlch. |
| Plas Halt | Tan-y-Bwlch | 1963 | Open | 6 miles 19 chains (10.04 km) | Opened 31 May 1963. |
| Hafod y Llyn | Tan-y-Bwlch | 1836 | 1873 | Approx. 7 miles 5 chains (11.37 km) | Used for passing slate trains until 1865 and as passenger station 1865 to 1873. |
| Tan-y-Bwlch | Tan-y-Bwlch | 1873 | Open | 7 miles 35 chains (11.97 km) | Temporary terminus 5 April 1958 to 5 April 1968. |
| Coed y Bleiddiau | Coed y Bleiddiau | 1865? | Open | Approx. 8 miles 40 chains (13.68 km) | Private platform serving Coed y Bleiddiau cottage which is only accessible by rail or footpath. |
| Campbell's Platform | Y Dduallt | 1965(private) 1968 (full use) | Open | 9 miles 7 chains (14.62 km) | Private halt serving Plas y Dduallt, a 15th-century Welsh Manor House. Built in 1965 for works trains during reconstruction of the line. Line re-opened to the public in 1968. |
| Dduallt | Moel Dduallt | 1880? | Open | 9 miles 44 chains (15.37 km) | Temporary terminus 6 April 1968 to 24 June 1977. |
| Tunnel South loop | Moelwyn Mawr | 1842 | c1865 | Approx. 10 miles (16.09 km) (on former track alignment) | Used for passing horse drawn trains and early steam trains. |
| Moelwyn Halt | Moelwyn Mawr | 1920s? | 1939 | 10 miles 60 chains (17.30 km) (on former track alignment) | At the northern end of the old Moelwyn tunnel. |
| Gelliwiog | Moel Dduallt | 1975 | 1977 | 10 miles 32 chains (16.74 km) | Temporary terminus of push-pull shuttle trains from Dduallt 26 May 1975 to 24 June 1977. |
| Llyn Ystradau | Tanygrisiau reservoir | 1977 | 1978 | Approx. 11 miles 30 chains (18.31 km) | Temporary terminus 25 June 1977 to 23 June 1978. |
| Tanygrisiau | Tanygrisiau | 1866 | Open | 12 miles 10 chains (19.51 km) | Temporary terminus 24 June 1978 to 24 May 1982. Now used as a passing place. |
| Dinas | Blaenau Ffestiniog | 1865 | 1870 | 13 miles 30 chains (21.52 km) (on branch from current line) | The original northern terminus, opened 6 January 1865. From the opening of Duffws in 1866 until the closure of Dinas in 1870, alternate trains ran along the Dinas and Duffws branches. |
| Blaenau Festiniog Junction/Stesion Fein | Blaenau Ffestiniog | 1881 | 1939 | 13 miles 25 chains (21.42 km) | ‘Stesion Fein’ (narrow station).Interchange station with LNWR (Conwy Valley Line). Terminus from 31 May 1931 until 1939. |
| Blaenau Festiniog (GWR) | Blaenau Ffestiniog | 1883 | 1939 | 13 miles 50 chains (21.93 km) | Interchange station with GWR line to Bala |
| Blaenau Ffestiniog | Blaenau Ffestiniog | 1982 | Open | 13 miles 50 chains (21.93 km) | Current terminus; joint station with British Rail (Conwy Valley Line) opened 25 May 1982; roughly on site of Blaenau Ffestiniog (GWR) station. |
| Duffws | Blaenau Ffestiniog | 1866 | 1931 | 13 miles 60 chains (22.13 km) (on a different alignment) | Only alternate trains ran to Duffws until 1870 when Dinas was closed to passengers. Terminus until 1931. |