JMRI® is...
A great tool for programming decoders, simplifying the job of configuring DCC decoders from your computer
Design and Operate control panels that reflect the real-time state of your railroad and let you control it
A system for Dispatching, grouping your Roster and Throttles
Build Trains from your Roster and print Train Manifests that detail the work your train crews will perform
A set of tools for using Audio with JMRI
Cool Uses
People have used JMRI to do some great things for the model railroad community.
Our Gallery page highlights some of these.
Also, there are many apps with JMRI connections.
JMRI tools for working with your layout:
Layout Automation
Use JMRI to automate parts of your layout and operations:
Supported Hardware
Devices, command stations, networks, and protocols:
JMRI Setup and Installation
JMRI environments...

JMRI Help:

Contents Index
Glossary FAQ

Donate to

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 and control your layout using PanelPro™ to set up signaling and other functions. OperationsPro™ lets you create manifests that route cars across your railroad from shipper to receiver, and provide train crews with operating instructions.

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.

fireman on the NYC

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

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

Downloadable Releases

JMRI 5.8 Production Release

JMRI 5.9.2 Test Release

JMRI 4.26 Production Release

JMRI 3.10.1 Production Release

JMRI 2.14.1 Production Release

MR SLAM Formatter: Another "JMRI Connections" Application

Community Connections
Tim Mann has created "Model Railroad Switch List and Manifest Formatter (MR SLAM Formatter)" as an additional way to create custom railroad paperwork from JMRI information. For more info, see our Community Connections page or go directly to the program's website

New "How To" Explanations for Operations

Operations docs
There's a new series of introductory "How To" explanations for JMRI Operations. These provide step-by-step instructions for doing the first things needed to get started with Operations.

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.

Additional Applications with JMRI Connections

Community Connections
Hobbyists have created applications that work with JMRI to provide extra capabilities. In addition, some commercial vendors have created applications that work with, add data to, or take data from JMRI. See the community/connections directory for a list and links. New applications can be added at any time!

Your Smart Phone as a Throttle

Android Engine Driver screen
You can use your iPhone, iPad or Android 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 mobile device, without having to bring throttles.

For more information, see the feature page.

Run Locos in a Browser

InControl Icon
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.

JMRI on Raspberry Pi

Raspberry Pi
The Raspberry Pi is becoming increasingly popular as a small and cheap computer. JMRI will operate under the Raspbian operating system (Debian version of Linux). Follow the installation instructions..

Online Help

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.

Decoder ID pages

Decoder ID pages
Our "Decoder ID" pages provide easy access to all sorts of information about decoders. They are automatically created from the current DecoderPro definitions.

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 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.

We are extremely pleased to announce that this case has 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.

JMRI wins Duke's Choice Award

Dukes Choice
Sun Microsystems (since 2010 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 its community, its use of Java technology to empower people all over the world to contribute, and for the impact it's had.

Where our visitors live