Train Set
Lay out a railway, put trains on it, and run them — switches, signals, couplings and all.
Drive. Tap points to throw them, a signal to change it, an uncoupler to arm it, or a train to pick it.
No trains yet. Pick Cars, choose a locomotive, and tap the track.
This is a toy train set: a board of 14 by 10 tiles to lay a railway on, locomotives and cars to put on it, and a power switch to make them go. It is in the spirit of the electronic train sets of the early home computers — MacInooga Choo-Choo, on the first Macintosh in 1985, was one — where the fun was half in building the layout and half in running trains round it without crashing them. There is no score and no goal. Build something, run it, and see what happens.
Building a layout
Draw is the quickest way to lay track: drag across the board and every tile you pass through gets the piece that joins where you came from to where you went next — a straight if you kept going, a curve if you turned. Drag back over the tile you just left and the stroke shortens again, so a wrong turn is undone by retracing it. Drawing across an existing line cuts a crossing into it, and drawing off a line at an angle turns that tile into a set of points, so a branch line is one stroke.
Piece lays one exact piece on a tile, for when you want a particular switch facing a particular way. There are fifteen: two straights, four curves, a crossing, and eight sets of points — every way a straight and a curve can share an end. Tap a tile that already holds the piece you have picked and it turns a quarter, so you can pick roughly and turn it into place. Piece also works from the keyboard: arrow keys move around the board and Enter lays the piece.
Signal puts a signal on a plain straight or curve, and Uncoupler puts an uncoupling ramp on a straight. Scenery plants trees, houses, a station, water and the like on bare ground, and laying track over scenery clears it. Erase clears a tile: a train standing on it goes first, then the signal and track, then the scenery. Track under a train cannot be changed — move the train, or erase it, first.
Running trains
Pick Cars, choose a steam or diesel locomotive or one of five kinds of car, and tap the track to put it down. Every train gets a row in the list below the board with its own throttle, a Reverse button and a Stop button. Press Run and everything with a locomotive in it and its throttle up pulls away. Trains have weight: one takes two and a half seconds to reach full speed, a little over a second to stop from it, and cars with no locomotive coast to a halt rather than stopping dead. Reverse brakes a moving train to a stand before it changes direction. A train that runs out of track stops at the end of it. Fullscreen scales the board up to fill the display, with Run, the tools and the trains beside it; Escape or the Exit button brings the page back.
In Drive, tap a set of points to throw them. The route that is set is drawn in full and the other is greyed out. Points cannot be thrown with a train standing on them, but a train running through them from the back — the two branches towards the point end — throws them itself, the way the sprung points on a toy railway do, rather than coming off. Tap a signal to change it: a train comes to a stand before a red signal and goes again on green.
Coupling, uncoupling and derailing
Two trains that meet end to end at a crawl couple into one. A crawl is a closing speed no faster than 30% throttle into standing cars; any faster and both trains come off the rails and stay there, tipped over, until you press Rerail. Meeting anywhere else — two trains arriving at a crossing together, or one running into the side of another at the points — derails both whatever the speed. A rerailed train is put back on the track standing, and is allowed to pull clear of whatever it was tangled with.
To leave cars behind, tap an uncoupler in Drive to arm it. The next coupling to pass over it comes apart: the front of the train carries on with the locomotive, and the cars behind roll to a stop. The ramp then disarms itself, so it splits one coupling and no more. A train standing with a coupling right over an armed ramp is split where it stands as soon as the layout is running, which is how to drop a cut of cars exactly where you want them.
The layouts it comes with
Five layouts are in the menu next to Run. Countryside is an oval with a line through the middle and two trains on it. Oval is the train set out of the box. Figure eight shares one crossing between two loops, which is safe with one train and a test of timing with two. Passing loop has a freight standing in a siding, waiting for the passenger train to be switched into it. Yard has three cars standing in a spur and an uncoupler, for practising the shunting the original train sets were made for.
Saving and sharing a layout
Whatever you build is saved in this browser as you go, so it is still there next time.
Copy link puts the whole layout — track, points, signals, scenery and every train where
it stands — into the address, so it can be sent to somebody exactly as it is. Nothing is
uploaded: the layout travels in the part of the address after the #, which
browsers never send to a server. Opening someone else's link leaves your own layout saved
until you keep theirs or start changing it, and the page says so when you open one.
Why did my trains derail?
Either they met end to end faster than a crawl — more than a closing speed of 30% throttle into standing cars — or they met somewhere other than end to end: at a crossing, or side-on at a set of points. Press Rerail on each train, then back one away before running again.
How do I couple cars to a locomotive?
Put the locomotive and the cars on the same line, set the locomotive’s throttle to 30% or less, and run it into them. When they touch they become one train with one row in the list. The cars can be in front of the locomotive or behind it; a locomotive pushing works just as well as one pulling.
How do I make a branch line or a siding?
Draw it. Start the stroke on the main line and drag off it at an angle: the tile where you leave becomes a set of points. Then tap the points in Drive to choose which way trains go. To build one exact set of points instead, use Piece and pick it from the fifteen pieces.
Why will the points not change?
A train is standing on them. Points cannot be thrown under a train, so move it clear first. A train running through the points from the branch side will throw them for itself.
What was MacInooga Choo-Choo?
An electronic train set for the original Apple Macintosh, published by Abracadata in 1985. It came with ready-made layouts and let you edit the track, signals, uncouplers and cars and run trains with the mouse. This page is a new toy in the same spirit and shares none of its code or art.
Does it work offline?
Yes. It runs entirely in your browser, with no server, no account and no tracking, and once the page has been opened once it works with no connection at all.
Related Tools
Updated October 13, 2026