The Hof–Bad Steben railway was built by the Royal Bavarian State Railways, the legal basis for its construction being the Bavarian Lokalbahn (literally: 'local line') law of 21 April 1884. The line was the fourth railway in Bavaria to be built under the new law. In the years that followed, three more branch lines were opened that all branched off the Hof–Bad Steben railway. Another, fourth, line to Geroldsgrün was considered in 1920, but never built. In 1994 goods services ceased on the route, but passenger trains continue to operate to the present day.
On 1 March 2008 there was an accident during Hurricane Emma. On the journey from Bad Steben to Hof the engine driver ran into a tree that had fallen across the track near the Oberklingensporn halt. As a result, the DB Class 628 railbus derailed. No-one was injured and the damage was minimal because the railbus was only travelling at low speed. Since June 2011, the railway is now operated by Agilis, because the former operator, the Deutsche Bahn loss the bid for the Diesellines of upper Franconia.
The branch line to Bad Steben leaves the main line from Nuremberg to Dresden at Hof Hauptbahnhof, the main station in the city of Hof. Immediately next to the historic 'Signal Box 8' it climbs steeply uphill to the station of Hof-Neuhof in the city district of the same name. This station is operated remotely from the signal box at the Hauptbahnhof and is equipped with colour light signals. Many of the former sidings to factories and warehouses can still be made out.
After Hof-Neuhof the route continues to climb and passes the old halt in the Hof district of Vogelherd, where it runs uphill to Köditz, a small village outside the gates of the city of Hof. This station is also controlled by the signal box at Hof Hauptbahnhof. Beyond Köditz the line continues to run uphill reaching Stegenwaldhaus, where the route reaches it highest point. There was a former station here, with crossing loops, signals and sidings for the local stone industry. The line now runs downhill into the Selbitz valley, past Rothenbürg halt and the old siding to the Jahreiß stone works before reaching the town of Selbitz.
Selbitz is a crossing station for trains on the line which, since 9 December 2007, have operated an hourly service (actually alternating every 53 or 67 minutes). It is about halfway between Hof and Bad Steben and is equipped with semaphore signals and a signal box. The branch line from the upper Selbitz valley, from Schauenstein, Helmbrechts and Münchberg, used to form a junction here; an old stone bridge and the large station yard serve as lingering reminders. On leaving the town in the direction of Naila, the route crosses the old B 173 at a level crossing, but the construction of the new B 173 ring road at the end of the 20th century reduced the importance of this crossing.
The railway line continues uphill to Naila, where a stub line once branched off to Schwarzenbach am Wald. The narrow cutting for this stub can still be seen from the station approach from the direction of Selbitz. Until 1972 Naila was the seat of the local Landkreis (rural district). Naila station itself was the location for the maintenance offices (Bahnmeisterei) for the route and its associated branch lines. From Naila, the line follows the Selbitz valley to Marxgrün, which marked the end of the first stage of construction when the railway was built. After Naila station the route passes the pond in Froschgrün Park where, on Sundays during the summer, there is often an interesting encounter between the ‘big’ railway and the ‘little’ Froschgrün park railway, a public garden railway that runs around the pond.
The railway reaches the halt at Oberklingensporn in the Selbitz valley by the LIBA Maschinenfabrik factory and passes a sewage farm on the left. Right next to the bridge over the Selbitz is the state highway from Naila to Bad Steben which is crossed at a level crossing. The station of Marxgrün is next. In 1887, the first section of the route to be constructed ended here in Marxgrün, today part of the town of Naila. On the large site of the station yard, there is just a halt and a waiting shelter today. The station building and its adjoining signal box was sold and is now used as for holiday homes. The two railwayman's houses are rented and all the tracks have been lifted apart from the line itself. Opposite the station building is still the picturesque, two-road locomotive shed with its attached workshop and water feed (Wasserspeicher). Sadly, the shed has been allowed to fall into rack and ruin for years. From 1901 the Höllentalbahn to Thuringia branched off from the line to Bad Steben at Marxgrün.
The Höllentalbahn continues to follow the course of the Selbitz valley, whilst the line to Bad Steben runs steeply uphill in order to cross over into the Stebenbach valley. Shortly before the halt at Höllental the railway reaches the Stebenbach and follows it along the car-free valley to its terminal station in the Bavarian state spa town of Bad Steben.
see also List of scheduled railway routes in Germany
The following motive power and trains were used on the line:Steam locomotives (Class 186, 64, 700, 86, 913-18, 984-5, 988)
Diesel locomotives (Class 211, 217, 218, 220)
Minor locomotives (Class 332)
Railbuses (Class 798/998)
Multiples (Class 614/914, 628, 612)
Today the line is worked by Stadler Regio-Shuttle RS1, because the new operator Agilis ordered 38 such trains, only for the diesellines of upper franconia. As part of DB Regio Oberfranken's "Porcelain and Spa Train" (Porzellan- and Bäderzug) campaign in the early 2000s, Class 614 railcars worked the line. These three-unit trains have since been returned from Hof to Nuremberg.
Trains take 44 minutes today to work the 27 kilometre long line. This requires an average speed of just under 37 km/h. The highest permitted speed on the railway is 60 km/h. The route is operated by DB Regio Oberfranken.
The route was declared to be part of the Upper Franconian Diesel Network run by the Bavarian Railway Company (Bayerische Eisenbahn-Gesellschaft) on 8 February 2008, which is due to be launched on 12 June 2011 with new stock and improved services.
From 2010 the route will be served by BeNEX. DB Regio failed to win the contract from the Bavarian Railway Company. The towns and communities hope that by increasing the number of stops en route and by building higher platforms, that more passenger will use the line and that it will become more accessible for disabled people.