This is the home of OpenBVE, a license-free, open source, free of charge train driving simulator.


This program includes detailed per-car simulation of the brake systems, friction, air resistance, toppling and more. In 3D cabs, the driving experience is augmented with forces that shake your simulated body upon acceleration and braking, as well as in curves. Besides that, OpenBVE features a 3D positional sound system best enjoyed with surround speakers, train exteriors and timetables for the current run. Finally, via the main menu, routes and trains be easily selected to start a new session, the controls can be configured to keyboard or joystick devices, and a variety of options can be selected.

Compared to other simulators of the genre, especially compared to commercial games, OpenBVE has its main focus on realism, not necessarily on user-friendliness. You should be willing to study operational manuals for the routes and trains you want to drive, and will in many cases not get along by just memorizing a few keystrokes. If you can identify with this focus, OpenBVE might be the right simulator for you.

Latest Stable Release: Stable (2021-04-14)

Current News & Updates:


Significant Changes:

  • New: Add Touch Operation to 2D and 3D panels- Existing 2D panels will automatically generate touch zones where possible, if the ‘Extended Panel2’ mode is enabled under options.
  • New: Add Track Following Objects.
  • New: Route Viewer uses the common texture loader plugins.
  • New: Object Viewer will load an extensions.cfg file in order to view an entire train.
  • New: Brake pressure, ATS variables etc. may be simulated in Object Viewer.
  • New: Further updates to train.xml / CarXMLConvertor. Note: This is still a work in progress feature….
  • Fix: Handle where GlowFileWithoutExtension actually has an extension.
  • Fix: Issue between P1 and P2 when using the OHC-PC01
  • Fix: Issues with certain unusual train setups.
  • Fix: Lock when creating the timetable image to prevent a possible crash.
  • Fix: Handle a sound.cfg file where the first line(s) are comments.
  • Fix: Handle unexpected whitespace in certain obj files.
  • Fix: Possible crash in CSV / B3D object parser when an incomplete color was used.
  • Fix: Handle another misdetected Unicode case.
  • Fix: The Panel2.cfg parser did not handle invalid speed units correctly.
  • Fix: Handle where the EM-DASH has been used instead of a minus sign.
  • Change: When a train contains both a 2D and a 3D panel, this is noted in the log.

Route Specific Fixes:

  • Hacks: Fix assorted issues with the Dutch content available from
  • Hacks: Disable derailments for 737-Test Flight
  • Hacks: Fix Z-fighting panel on Boeing-737
  • Hacks: Fix issues caused by a misplaced comma in Balloch- Dumbarton
  • Hacks: If hacks are enabled, enforce a minimum RunInterval of 2 minutes, in order to ensure that the preceeding train has actually cleared the station / player train. (Fixes the duplicate train on top of the player train seen in large amounts of BVE2 content)
  • Hacks: Fix issues with the Iiyama 2060 route.

Please note that the developer documentation has been significantly updated and improved.

The URL has changed as a result of this, and it may now be found at:

The site-menu has been updated to reflect this. The old documentation will remain online at it’s current URL for the minute.

This has taken a lot of work, from contributors including S520, MidnightExpress1981 & Marc Riera- Thanks!


  • Rebuilt using the Hugo site generator, to allow for multi-lingual translation.
  • Considerable formatting updates.


If you’d like to see the documentation in your own language, we need your help!

Translations are managed through Transifex, and may be accessed here:


Hotfix Release 2

  • Mac: Fix a broken link in the Mono download prompt.


Hotfix Release

  • Fix: Crash on systems with no microphone / audio in inputs.


Significant Changes:

  • New: Add TGA image loader plugin.
  • New: Add two alternative X object parsers.
  • New: Add alternative OBJ parser.
  • New: Add alternate sounds for when a power / brake handle is moved continously.
  • New: Add microphone sound input & associated routefile sound-source.
  • Fix: Correctly handle all MS-ZIP compressed X objects (Applies to all parsers)
  • Fix: The speed limit could unexpectedly revert to unlimited in certain circumstances.
  • Fix: CarUnexposedFrontalArea was not read correctly from the train.dat file. NOTE: This was being applied incorrectly to CarExposedFrontalArea. This may have a (normally) small affect on train performance.


This build introduces alternate parser options for X and OBJ files. These are as follows:


  • Original - Michelle’s original parser.
  • NewXParser - New scratch-written code.
  • Assimp - A C# port of the Assimp library ( , a modified version of BSD-3 applies to this)

The default X parser will now be set to the NewXParser.


  • Original
  • Assimp - Assimp - A C# port of the Assimp library ( , a modified version of BSD-3 applies to this)

The default Obj parser will now be set to the original OBJ parser.

If loading using any of the new parsers fails, the original parsers will be automatically tried as fallback options. A routefile command to control the X parser used is also available:

Options.XParser This may be set to the following: 0 : Original 1 : NewXParser 2 : Assimp


Significant Changes:

  • New: The Pass Alarm sound may be set via sound.cfg
  • New: Add input plugins- These are intended to allow a plugin to directly interface with the simulation controls (e.g. desktop controller / sim board)
  • New: Add SanYingInput to handle the OH-PC01 cab controller for BVE5. (Ported from the MIT Licensed BVE5 version)
  • Fix: Issue with BrakeControlSpeed under certain setups causing the motor sound to be played incorrectly at rest.
  • Fix: Crash if the train was to stop at the next station, but no stop points were defined. (Introduced with
  • Fix: Changes to the gamewindow, so that it closes more reliably under Mono / Linux.
  • Fix: Handle an ATS.cfg file which starts with an initial empty line.
  • Fix: The station pass message could be triggered incorrectly by a jump under certain circumstances.
  • Fix: Sort a couple of issues in the DDS texture plugin.
  • Fix: If using a white background in Object Viewer, use black text so it is readable.
  • Change: Update hu-HU language file. (Phonteus Nevolius)
  • Change: Refactoring to various vector operations.

Route Specific Fixes:

  • Hacks: Fix tunnel exit on Cittaden V2
  • Hacks: Fix incorrectly read curve on B1649テシiト・トコJテシト佚架・ケテ嘉シj.csv


This build is primarily a hotfix release to v1.5.3.9.

Significant changes:

  • Fix: Departure did not occur when the doors were set to auto / semi-auto, & a station did not require any doors to be opened. (Introduced with
  • Fix: Under certain rare circumstances, an incorrect language could be loaded.