What is the ENG file format?
In the context of train simulation, an .eng file is a text-based locomotive definition used by Microsoft Train Simulator (MSTS) and its community successor, Open Rails. It describes the physical, audio, and visual properties of a locomotive - from tractive effort curves and brake systems to cab camera positions and headlight behaviour. Every locomotive add-on includes at least one .eng file, typically paired with a .wag wagon consist file.
The file uses MSTS's SIMISA hierarchical block format: a plain-text structure of nested parenthesised tokens, usually opening with the header SIMISA@@@@@@@@@@JINX0p0t______. Named blocks such as Engine(), Lights(), Sound(), and Cab() define all locomotive parameters recognised by the simulator.
Original MSTS files are encoded in UTF-16 LE (byte-order mark FF FE); community-created content frequently uses ANSI or UTF-8 without a BOM. Open Rails extends the format with ORTS() blocks that provide additional physics detail not supported by the original engine, while remaining fully backward compatible with MSTS.
.eng is a heavily overloaded extension. Outside train simulation, MATLAB toolbox engines, RealFlight RC simulator aircraft definitions, and various game localisation files all share the same extension with no common specification. The MSTS/Open Rails usage is by far the most widely searched and documented single meaning.
Security & safety
RISK: LOWPlain text configuration file; no executable code. MSTS ENG files cannot harm the system.
Format details
in a nutshell- MATLAB Engine Data File - MATLAB uses .eng for binary data files saved by the engine; unrelated to train simulation.
- Game localization file (generic) - Many games and applications use .eng for English-language INI/text localization files; format varies per application.
- Personal Paint (Amiga) Engine Data - Personal Paint (AmigaOS) stores engine/color data in .eng files; obscure legacy format.
Programs that open ENG files
Technical details
deep spec| Encoding | UTF-16 LE with BOM (`FF FE`) in original MSTS files; ANSI or UTF-8 in community-created content |
| File header token | `SIMISA@@@@@@@@@@JINX0p0t______` (text preamble, not a binary signature) |
| Structure | Hierarchical nested block format using parenthesised tokens |
| Primary blocks | `Engine()`, `Lights()`, `Sound()`, `Cab()`, `WagonShape()` - each defines a locomotive subsystem |
| Format version | MSTS v1 (2001 original); Open Rails adds `ORTS()` extension blocks for enhanced physics |
| Byte order mark | `FF FE` (UTF-16 LE BOM) present in original MSTS-authored files |
| Typical file size | 5 KB - 200 KB |
| OS | Windows only |
| Physics parameters | Tractive effort, brake systems, mass, wheel arrangement, cab controls, sound references |
| Companion file | `.wag` file stores wagon/consist properties; both files required for a complete locomotive |
| Open Rails compatibility | `ORTS()` blocks are ignored by MSTS; `.eng` files work in both simulators without modification |
| Released | 2001 (Microsoft Train Simulator) |
| Latest version | Open Rails extended ENG spec (ongoing, 2010+) |
| Specification | www.trainsim.com |
ENG conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about ENG files.