Inception and building of the branch In 1861, John McLandsborough, a civil engineer, visited Haworth to pay tribute to
Charlotte Brontë but was surprised to find that it was not served by a railway. He proposed a branch running from the
Midland Railway's station at to
Oxenhope. The line would serve three small towns and 15 mills along its length. A meeting of local gentlemen was told that the line would cost £36,000 to build (). A total of 3,134 shares worth £10 each were issued at this meeting, along with the election of directors, bankers, solicitors and engineers. J McLandsborough, the original proposer of the line (who dealt predominantly with water and sewerage engineering, but had experience of building the
Otley and Ilkley Railway) was appointed acting engineer; whilst J. S. Crossley of the Midland Railway was appointed consultant engineer. The railway was incorporated by an
Act of Parliament in 1862 and the
first sod was cut on Shrove Tuesday, 9 February 1864 by
Isaac Holden, the chairman of the Keighley and Worth Valley Railway. The railway was built as single track but with a trackbed wide enough to allow upgrading to double track for expansion. Unfortunately, the train got stuck on Keighley bank and again between Oakworth and Haworth, necessitating splitting it before carrying on with the journey. Finally, on 15 April 1867, public passenger services on the Worth Valley commenced.
Operation The line was operated by the
Midland Railway, who owned most of the rail network in the area, and was eventually bought by the Midland in part due to interest from the rival railway company, the
Great Northern. Upon sale of the railway, the mill owners made a profit, which was unusual for many lines of that type, as (for strategic reasons) the Midland wanted to prevent the GN from taking over its territory. After becoming part of the
London, Midland and Scottish Railway in 1923 during
Grouping, ownership passed to
British Railways (BR) following nationalisation in 1948.
Rebuilding On 6 November 1892 the deviation line between Haworth and Oakworth through Mytholmes Tunnel was opened and the original route abandoned. The Midland had intended to double the entire route as the traffic was so heavy. However, due to national political developments, in particular a dispute on rates between the Railway Companies' Association and the Government, the railway companies were urged by the Association to cease all but essential capital expenditure. Consequently, although the Parliamentary Bill to double the track had been turned into an Act, the Midland decided not to double the whole route, but did undertake the necessary work on the section to avoid the trestle viaduct at Vale Mill. This is why that part of the line today looks so different from the rest of the route. The need for the deviation was to avoid a large wooden trestle viaduct that crossed a mill pond, as the locals believed the viaduct was unsafe, and supposedly many alighted at Oakworth and continued on foot to Haworth to avoid crossing the viaduct. The original trestle viaduct can be seen in a picture hanging in the booking hall of Oakworth station. The need to increase capacity for the heavy traffic remained, so at the turn of the century, the Midland installed a passing loop at Oakworth and signalling at Haworth which gave virtually as much flexibility for dealing with the traffic as would have been the case had the line been doubled.
Closure British Railways operated the last scheduled passenger train on Saturday 30 December 1961 and with no Sunday service the passenger service was deemed withdrawn from service on Monday 1 January 1962. Freight trains continued to run to Oxenhope until 18 June 1962. On 23 June 1962, the new formed Keighley & Worth Valley Railway Preservation Society chartered a special passenger train which ran from Bradford to Oxenhope and return. After this train, the section between Oxenhope and Ingrow West Junction was completely closed.
Reopening A preservation society was formed in 1962 of rail enthusiasts and local people which bought the line from BR and reopened it on 29 June 1968 as a heritage railway. The first train to leave Keighley for Oxenhope on that date was the only train to operate anywhere on the network due to a national train strike. The line is now a major tourist attraction operated by 500+ volunteers and roughly 10 paid staff. It carries more than 100,000 passengers a year. The KWVR is the only complete heritage railway in the UK to be preserved and operating. It has its link to the main line which is in regular use for all types of traffic, including public passenger trains and it operates the whole railway as last used by British Railways.
Operation as a preserved line On 10 July 2008, the
Duke of Kent visited the railway following the 40th anniversary of its reopening. While at the railway, the Duke travelled in the carriage and on the locomotive footplate of a specially prepared "
Royal Train", consisting of
tank locomotive 41241, an
LMS Class 2MT, pulling a single carriage, ''The Old Gentleman's Saloon
, as featured in The Railway Children'', which is a former North Eastern Railway directors Saloon.
Commuter use At weekends, in particular Saturday mornings, local residents who live in Oxenhope, Haworth, Oakworth and Ingrow catch the early morning diesel service to Keighley, returning later on steam hauled services. During the weekday outside of the summer months, locals instead use the local bus services. As a privately owned heritage railway, the line does not specifically serve commuters; however, a study by Ove Arup & Partners funded by
Metro looked at the feasibility of a daily commuter service between Oxenhope and Keighley in 2009. After the first stage of the study was released, Metro stated concerns about a lack of funding and available rolling stock, meaning that services are unlikely to run in the short to medium term. Another study undertaken in 2011 on behalf of the Worth Valley Joint Transport Committee found that running up to four commuter trains each way in the morning and evening is feasible. ==Stations and facilities==