JMRI® is...


A better tool for programming decoders. DecoderPro simplifies the job of configuring complicated DCC decoders by providing screens on which you can select the various options and values you want.


Designing and Operating CRT based CTC control panels that reflect the real-time state of your railroad and let you control it - almost like a Prototype dispatcher!


Create train manifests that detail the work your train crews will perform during an operations session. The manifest lists of car pick up and set outs, shows where the cars are located, and provides the cars' destinations.

Cool Uses

People have used JMRI to do some great things. They've built incredible dispatcher panels, controlled impressive layouts, and built other tools for the model railroad community. Our Gallery page highlights some of these.

General Tools

JMRI provides powerful tools for working with your layout.

Layout Automation

JMRI can be used to automate parts of your layout, from simply controlling a crossing gate to running trains in the background.

Supported hardware

Supported computers

Donate to JMRI

What is JMRI?

The JMRI project is building tools for model railroad computer control. We want it to be usable to as many people as possible, so we're building it in Java to run anywhere, and we're trying to make it independent of specific hardware systems.

JMRI is intended as a jumping-off point for hobbyists who want to control their layouts with a computer without having to create an entire system from scratch.

You can manage your locomotive rosters and easily program your decoders using DecoderPro®. You can build control panels, set up signaling, configure operations and control your layout using PanelPro. Going beyond the basics, you can use Logix to automate your layout's behavior, interface with X10 and Insteon systems to control your layout room's lights and write scripts to extend the capabilities of the system. OperationsPro™ lets you create manifests that route cars across your railroad from shipper to receiver, and provide train crews with operating instructions.

Donate to JMRI As an open source project, JMRI is evolving in many directions at once. You can get involved at many levels:

Whatever it is that you choose to do with JMRI, and however you get involved, welcome to our community!

JMRI 4.0.1 Production Version

Released on September 18, 2015.

JMRI 4.0.1 is recommended for new users. It's the most recent stable production version.

For more information, please read the JMRI 4.0.1 Release Note, which also contains the download links.

JMRI 3.10.1 Production Version

Released on January 11, 2015.

JMRI 3.10.1 is recommended for JMRI users with computers that can only run Java 1.6; later versions require Java 1.8.

For more information, please read the JMRI 3.10.1 Release Note, which also contains the download links.

JMRI 2.14.1 Production Version

Released on July 15, 2012.

JMRI 2.14.1 is recommended for JMRI users with computers that can only run Java 1.5; later versions require Java 1.6/1.8.

For more information, please read the JMRI 2.14.1 Release Note, which also contains the download links.

JMRI 4.1.4 Development Version

Released on November 25, 2015.

This is the next in a series working toward the next JMRI production version in late 2015.

For more information on this test release, please read the JMRI 4.1.4 Release Note, which also contains the download links.

Version 4.0.1 is the current "production" version, recommended for first-time users.

JMRI at NMRA Portland 2015 Convention

NMRA convention logo
We're planning a complete set of JMRI clinics at the NMRA 2015 convention in Portland, along with our traditional user get-together.

Full descriptions and times are on the NMRA site listed above.
NMRA 2014 Clinic summary

DigiTrains Android App for running trains from JMRI

Digitrains on Android Phone
The DigiTrains Android app now works with JMRI to provide user-friendly locomotive, accessory and route control from Android phones and tablets.

You can download it from Google play or get more information from the JMRI help.

AnyRail export to JMRI Layout Editor

AnyRail logo
AnyRail can now export your layout design to JMRI!

The AnyRail layout planning software can now export a layout design as a JMRI panel file that can be imported to Layout Editor.

For the details, see the AnyRail documentation.

MRC Hardware Support

MRC logo
JMRI now supports MRC/GaugeMaster DCC systems!

You can connect JMRI to MRC/Gaugemaster hardware by just setting the JMRI preferences and wiring it up.

For the details, see our MRC page.

Check Out the "JMRI Clinics" page!

JMRI clinics
Several users have contributed their clinics for our clinics page. There are both conventional handout and slides clinics, and also some neat interactive clinics for DecoderPro® and PanelPro™.

Some JMRI clinics from past NMRA national and other conventions are also included.

Use Your Smart Phone As a Throttle!

Android Engine Driver logo
You can now use your iPhone, iPod Touch or Android cell phone as a throttle with JMRI.

After you download and install a program onto your phone, you can connect it wirelessly to your computer running JMRI, which in turn will run your layout. Imagine friends visiting your layout and running trains from their cellphones, without having to bring throttles.

For more information, please see the feature page.

Control Your Locos From a Web Browser - computer, smartphone or tablet

InControl Icon
Now, you can control your layout directly from your computer, smartphone or tablet, without the need to download and install any application. The current web browsers running on these devices are able to manage the resources and features needed to replace physical throttles. Just start the JMRI Web Server on your JMRI computer, open http://<your JMRI server>/web/webThrottle.html and enjoy it. For more information, please visit the webThrottle - Web control for locos, panels, turnouts and routes page.

Help Pages Online

JMRI Help System
The JMRI applications have a built-in help system. It has lots of information, including overviews and window-specific information. The pages are simple HTML, and users are encouraged to add missing information. The help information is available online via either the index or table of contents.


The Crandic Automated Traffic System (CATS) is a JMRI-based application by Rodney Black for controlling and operating a model railroad. There's more information on the CATS web site.

XTrkCad and JMRI

XtrkCad and JMRI
XTrkCad is a great, free tool for designing your layout that's being developed by a group of model railroaders.

XtrkCadReader is a new JMRI tool built by Giorgio Terdina to take layout information created by XTrkCad (XTC files) and convert it to a form that JMRI can read (XML files).

This tool lets you import your physical layout design from XTrkCad directly into JMRI so you can easily set up controls for the layout you've built.

Decoder ID pages

Decoder ID pages
A "Decoder ID" page has been added to the web. Automagically created from the current DecoderPro definitions, it provides easy access to all sorts of information about decoders.

Contribute more information to our decoder definitions, and help these pages become even more useful!

KAM Dispute Ends!

KAM JMRI dispute
JMRI is an informal open-source software group. We do this for the joy of model railroading, and don't produce anything for profit.

One of our members has spent the past four years in the Federal Courts defending our right to continue against an individual who has attacked us with bogus patent threats, cybersquatting, copyright infringement and other illegal acts. Donate to JMRI

We are extremely pleased to announce that this case has now been settled. The agreement ends the dispute, and gives everybody involved a way to move forward. This is a victory for JMRI and open-source software in general.

The only task left is raising the money to pay off the accumulated bills and debt. Please donate -- $5, $10, $25, $50, $100 or more -- so we can get back to creating great software for model railroading!

JMRI wins Duke's Choice award from Sun Microsystems

Dukes Choice
Sun Microsystems (now part of Oracle) has awarded JMRI a 2006 Duke's Choice award. Also called a "Dukie", this award is given annually to "some of the most clever, practical, and inspirational Java technology applications on the planet". The award was presented at the annual JavaOne conference on May 14th by James Gosling.

JMRI won for it's community, it's use of Java technology to empower people all over the world to contribute, and for the impact it's had.

Locations of visitors to this page