# Heerenveen railway station

Heerenveen is the main railway station in Heerenveen, Netherlands. The station opened on 15 January 1868 and is on the Arnhem–Leeuwarden railway. The services are operated by Nederlandse Spoorwegen.

## Train services

As of 6 March 2025, the following train services call at this station:
| Route | Service type | Operator | Notes |
| Leeuwarden - Grou-Jirnsum - Akkrum - Heerenveen - Wolvega - Steenwijk - Meppel - Zwolle - Kampen Zuid - Dronten - Lelystad Centrum | Local ("Sprinter") | NS | 2x hour Monday-Friday daytime. 1x hour evenings and weekends |
| Leeuwarden - Heerenveen - Steenwijk - Meppel - Zwolle - Lelystad Centrum - Almere Centrum - Amsterdam Zuid - Schiphol Airport | Express ("Intercity") | NS | 1x hour |
| Leeuwarden - Heerenveen - Steenwijk - Meppel - Zwolle - Amersfoort Centraal - Utrecht Centraal - Gouda - Den Haag Centraal | Express ("Intercity") | NS | 1x hour |

## Bus services

Bus services are operated by Qbuzz.
| Line | Route | Operator | Notes |
| 15 | Heerenveen - Oudeschot - Mildam - Katlijk - Nieuwehorne - Oudehorne - Jubbega - Hoornsterzwaag - Donkerbroek - Oosterwolde | Qbuzz | |
| 17 | Heerenveen - Wolvega - De Blesse - Steggerda - Noordwolde | Qbuzz | No evening or weekend service. |
| 20 | Heerenveen - De Knipe - Langezwaag - Gorredijk - Lippenhuizen - Beetsterzwaag - Drachten - Nijega - Garyp - Leeuwarden | Qbuzz | |
| 23 | Heerenveen - Luinjeberd - Tjalleberd - Tijnje - Nij Beets - Boornbergum - Drachten | Qbuzz | No evening or weekend service. |
| 27 | Heerenveen - Haskerdijken - Akkrum - Aldeboarn - Nij Beets - Beetsterzwaag - Drachten | Qbuzz | Peak hours only |
| 28 | Heerenveen - Haskerdijken - Akkrum - Jirnsum - Grou | Qbuzz | No evening or weekend service |
| 41 | Heerenveen - Joure - Scharsterbrug - Sint Nicolaasga - Spannenburg - Tjerkgaast - Sloten - Wijckel - Balk - Sondel - Lemmer | Qbuzz | |
| 48 | Heerenveen - Rottum - Sint Johannesga - Rotsterhaule - Delfstrahuizen - Echtenerbrug - Oosterzee - Lemmer | Qbuzz | No sunday service |
| 95 | Heerenveen - Oudehaske - Joure - Terherne - Jirnsum - Reduzum - Wijtgaard - Leeuwarden | Qbuzz | No sunday service. |
| 99 | Heerenveen - Joure - Uitwellingerga - Sneek - Bolsward - Witmarsum - Arum - Kimswerd - Harlingen | Qbuzz | Half of weekday trips end in Bolsward. |
| 315 | Groningen - Heerenveen - Joure - Lemmer - Bant - Emmeloord | Qbuzz | |
| 320 | Heerenveen - Drachten - Leeuwarden | Qbuzz | |
| 324 | Heerenveen - Drachten - Groningen | Qbuzz | Evening and weekend service only. |
| 390 | Heerenveen - Sneek - Bolsward - Wons - Makkum | Qbuzz | No sunday service. Half of weekday trips end in Bolsward. |
| 619 | Heerenveen - Jonkerslân | Qbuzz | On-Request only. Reservations required at least 1 hour before departure. |
| 621 | Heerenveen - Luxwoude | Qbuzz | On-Request only. Reservations required at least 1 hour before departure. |
| 623 | Heerenveen - Bontebok | Qbuzz | On-Request only. Reservations required at least 1 hour before departure. |
| 624 | Heerenveen - Katlijk | Qbuzz | On-Request only. Reservations required at least 1 hour before departure. |
| 625 | Heerenveen - Nieuweschoot | Qbuzz | On-Request only. Reservations required at least 1 hour before departure. |
| 626 | Heerenveen - Oranjewoud | Qbuzz | On-Request only. Reservations required at least 1 hour before departure. |
| 627 | Heerenveen - Terband | Qbuzz | On-Request only. Reservations required at least 1 hour before departure. |
| 666 | Heerenveen - Gersloot | Qbuzz | Evening and weekend service only. On-Request only. Reservations required at least 1 hour before departure. |
| 667 | Heerenveen - Luinjeberd | Qbuzz | Evening and weekend service only. On-Request only. Reservations required at least 1 hour before departure. |
| 668 | Heerenveen - Tjalleberd | Qbuzz | Evening and weekend service only. On-Request only. Reservations required at least 1 hour before departure. |
| 677 | Heerenveen - Oudeschoot | Qbuzz | One trip per direction on weekend evenings only. On-Request only. Reservations required at least 1 hour before departure. |
| 678 | Heerenveen - Mildam | Qbuzz | One trip per direction on weekend evenings only. On-Request only. Reservations required at least 1 hour before departure. |
| 679 | Heerenveen - Nieuwehorne | Qbuzz | One trip per direction on weekend evenings only. On-Request only. Reservations required at least 1 hour before departure. |
| 680 | Heerenveen - Oudehorne | Qbuzz | One trip per direction on weekend evenings only. On-Request only. Reservations required at least 1 hour before departure. |
| 689 | Heerenveen station - Heerenveen Thialf | Qbuzz | One trip per direction on weekends only. On-Request only. Reservations required at least 1 hour before departure. |
| 815 | Heerenveen station - Heerenveen Thialf | Qbuzz | Only operates during sports events at Thialf. |
| 841 | Heerenveen - Vegelinsoord | Qbuzz | On-Request only. Reservations required at least 1 hour before departure. |
| 842 | Heerenveen - Rotstergaast | Qbuzz | On-Request only. Reservations required at least 1 hour before departure. |
| 843 | Heerenveen - Haskerdijken | Qbuzz | Evenings and weekends only. On-Request only. Reservations required at least 1 hour before departure. |
| 845 | Heerenveen - Rottum | Qbuzz | Evenings and weekends only. On-Request only. Reservations required at least 1 hour before departure. |
| 846 | Leeuwarden - Rotsterhaule | Qbuzz | Evenings and weekends only. On-Request only. Reservations required at least 1 hour before departure. |
| 847 | Heerenveen - Sintjohannesga | Qbuzz | Evenings and weekends only. On-Request only. Reservations required at least 1 hour before departure. |
| 860 | Heerenveen - Haskerhorne | Qbuzz | Weekends only. On-Request only. Reservations required at least 1 hour before departure. |
| 878 | Heerenveen - Oudehaske | Qbuzz | Weekends only. On-Request only. Reservations required at least 1 hour before departure. |
| 879 | Heerenveen - Nijehaske | Qbuzz | Weekends only. On-Request only. Reservations required at least 1 hour before departure. |