Track
Rail Code Chart
Quick answer
Rail code is rail height in thousandths of an inch, so code 100 stands 0.100 in tall while code 83, the common HO mainline choice, stands 0.083 in. N scale commonly runs code 80 for forgiving operation or the finer code 55; taller code is more forgiving of old deep-flange wheels and less realistic looking.
Rail code is one of the simplest specifications in the hobby once the naming convention clicks, and one of the most consequential for whether an older locomotive runs at all. The number is the rail's height measured in thousandths of an inch, nothing more. Code 100 is a taller, thicker-looking rail that tolerates deep, older wheel flanges that would ride up and derail on shorter rail; code 83 and below sit closer to true scale proportion for their intended scale but assume newer, shallower-flange wheelsets.
The table below converts every common code into inches and millimeters and lists which scale typically uses which code, drawn from current manufacturer catalogs like Atlas and Peco.
What height does each rail code actually measure?
Code number equals rail height in thousandths of an inch by definition, so code 80 is 0.080 in tall by the same rule that makes code 100 measure 0.100 in.
Code 100 stands 0.100 in (2.54 mm) tall; code 55, a common fine-scale N choice, stands only 0.055 in (1.40 mm).
| Rail code | Height (in) | Height (mm) |
|---|---|---|
| Code 100 | 0.100 in | 2.54 mm |
| Code 83 | 0.083 in | 2.11 mm |
| Code 80 | 0.080 in | 2.03 mm |
| Code 75 | 0.075 in | 1.91 mm |
| Code 70 | 0.070 in | 1.78 mm |
| Code 55 | 0.055 in | 1.40 mm |
| Code 40 | 0.040 in | 1.02 mm |
Which rail code goes with which scale?
HO mainline track is most often code 100 or code 83; N scale is most often code 80 or the finer code 55.
| Scale | Common code | Why |
|---|---|---|
| HO | Code 100 | Taller and more forgiving of older, deep-flange wheels; less realistic in profile |
| HO | Code 83 | Closer to correct scale height for HO mainline track |
| N | Code 80 | The forgiving, widely stocked N scale default |
| N | Code 55 | Finer, more realistic profile for newer, shallower-flange N wheelsets |
Can code 100 and code 83 track run together?
They can be joined, but the rail height mismatch has to be handled at the joint or a wheel will strike the taller rail's shoulder. Atlas Code 100/83 Nickel Silver Universal Rail Joiners 48 Pieces HO Scale are made specifically to join code 100 and code 83 nickel silver rail, and a short transition section like Peco SL-113 HO Transition Track Code 75 to Code 100 handles a similar height step between two other codes on the Peco line. Left unjoined properly, a code jump is a common source of a single reliable derailment spot on an otherwise well-built layout.
Why would anyone choose a shorter rail code on purpose?
Shorter code looks more like scale prototype rail, because real rail is a fixed height regardless of the model scale representing it, and a taller code exaggerates that height more the smaller the scale gets. The tradeoff is wheel compatibility: a locomotive with older, deeper wheel flanges can ride up and derail on a shorter rail code sized for modern, shallow-flange wheelsets. New equipment purchased today from brands like Atlas, Walthers and Peco is built to shallow-flange standards and runs cleanly on code 83 or code 55; older secondhand equipment is the more likely source of a flange mismatch.
Sources
- Published rail height specifications from Atlas, Peco and Micro Engineering catalogs
Frequently asked questions
What does the number in "code 83" actually mean?
It is the rail height in thousandths of an inch, so code 83 rail stands 0.083 in tall measured from the base to the top of the railhead. It has nothing to do with scale ratio, gauge, or turnout number; it is purely a height specification for the rail itself.
Is code 100 or code 83 better for HO?
Neither is universally better. Code 100 is taller, cheaper to find secondhand, and more forgiving of deep-flange wheels on older locomotives; code 83 looks closer to correct scale rail height for HO mainline and is the more common choice for a new, realistic-looking layout built with modern rolling stock.
What rail code does N scale typically use?
Code 80 is the widely stocked N scale default and works with most current N wheelsets. Code 55 is a finer, more realistic-looking option intended for shallow-flange wheels; it is less forgiving of any older or out-of-gauge equipment than code 80 is.
Can I mix rail codes on the same layout?
Yes, and many layouts do, running a taller code on hidden staging or a benchwork edge where appearance does not matter and a finer code on the visible scenic mainline. The two codes need a transition joiner or a short transition track section at the point where they meet, or a wheel can catch the height step.
Does rail code affect how much a train can pull?
Not directly. Rail code affects appearance and wheel-flange compatibility, not electrical conductivity or pulling capacity, both of which come from the locomotive's motor, gearing and traction, and from clean, well-bonded rail joints regardless of which code is installed.
Why does older rolling stock sometimes derail on newer, finer rail?
Older wheelsets were often produced with deeper flanges than current manufacturing standards use. A deep flange can strike the taller shoulder of a shorter, finer rail code, or ride up over the railhead entirely, an effect that gets worse the finer the rail code and the deeper the flange.
Researched, not professional advice. This page is compiled from published manufacturer specifications, instruction manuals, published NMRA standards and recommended practices, and owner-review consensus, not hands-on testing. Figures described as a rule of thumb are hobby convention rather than a standard, and they are labelled that way wherever they appear. Always check a radius, a clearance or a grade against your own equipment before you cut wood or lay rail, because manufacturers vary and so does what your specific models will tolerate. Any permanent mains wiring in a layout room is work for a licensed electrician to your local code.