Train Throughput: Wagons vs. Belts
A cargo wagon has 40 inventory slots. Each slot holds one
stack, and the stack size depends on the item. That single number — 40 —
transforms this page from a qualitative comparison into a quantitative one.
A wagon of iron ore carries 2000 ore; the same wagon
carrying electronic circuits carries 8000.
Those amounts, divided by the time the train takes to make a round trip, are the
train's average throughput. This page computes the capacity side of that equation
from data/2.1/ and is explicit about what remains uncomputable: the
round-trip time and inserter unloading rate.
Figures computed from game version 2.1.12, updated 2026-08-22
Belt Throughput (Computed from Game Data)
Every belt tier's throughput is calculated from
data/2.1/logistics.json using speed × 8 × 60, where
speed is tiles per tick, 8 is items per tile per lane, and 60 is
ticks per second. These are the numbers a train's burst delivery must be
compared against.
| Belt | Speed (tiles/tick) | Throughput (items/s) |
|---|---|---|
| transport-belt | 0.03125 | 15 |
| fast-transport-belt | 0.0625 | 30 |
| express-transport-belt | 0.09375 | 45 |
| turbo-transport-belt | 0.125 | 60 |
The yellow belt moves 15 items/s; red doubles it to 30; blue reaches 45; the turbo belt (Space Age) runs at 60 — four times yellow. A single cargo wagon of iron ore holds 2000 items, which is equivalent to 133 seconds of a fully compressed yellow belt's output. The question is not whether a wagon holds more than a belt — it does, by a large margin — but how long the wagon takes to deliver, load, and return.
How Much a Cargo Wagon Carries
The cargo wagon's inventory_size is 40 slots. Each slot accepts
one stack of up to the item's stack_size from
data/2.1/items.json. Total per wagon = 40 × stack_size. The
table below shows the result for common materials, plus the number of yellow and
turbo belts that would carry the same quantity in one second.
| Item | Stack Size | Per Wagon | Yellow Belt-seconds | Turbo Belt-seconds |
|---|---|---|---|---|
| iron-ore | 50 | 2,000 | 133 | 33 |
| copper-ore | 50 | 2,000 | 133 | 33 |
| coal | 50 | 2,000 | 133 | 33 |
| stone | 50 | 2,000 | 133 | 33 |
| iron-plate | 100 | 4,000 | 267 | 67 |
| copper-plate | 100 | 4,000 | 267 | 67 |
| steel-plate | 100 | 4,000 | 267 | 67 |
| iron-gear-wheel | 100 | 4,000 | 267 | 67 |
| electronic-circuit | 200 | 8,000 | 533 | 133 |
| advanced-circuit | 200 | 8,000 | 533 | 133 |
| processing-unit | 100 | 4,000 | 267 | 67 |
| plastic-bar | 100 | 4,000 | 267 | 67 |
| solid-fuel | 50 | 2,000 | 133 | 33 |
| rocket-fuel | 20 | 800 | 53 | 13 |
| nuclear-fuel | 1 | 40 | 3 | 1 |
"Belt-seconds" means the number of belts that would carry the wagon's entire cargo in one second if they were running at full compression. A wagon of ore equals about 133 yellow belts for one second — but a yellow belt delivers for every second continuously. A train delivers its cargo in a burst when it arrives, then produces nothing while it travels back. The average train throughput is the wagon capacity divided by the full round-trip time.
Common Train Configurations
Most bases use 1-2 or 1-4 trains (one locomotive, two or four cargo wagons). Larger megabases may run double-headed 2-8 or even 2-12-2 configurations. The table shows total cargo capacity for the three most common materials.
| Wagons | Iron Ore | Steel Plates | Electronic Circuits |
|---|---|---|---|
| 1 | 2,000 | 4,000 | 8,000 |
| 2 | 4,000 | 8,000 | 16,000 |
| 4 | 8,000 | 16,000 | 32,000 |
| 6 | 12,000 | 24,000 | 48,000 |
| 8 | 16,000 | 32,000 | 64,000 |
A 1-4 ore train delivers 8000 iron ore per trip. At a yellow belt's 15/s, that quantity would take 533 seconds (~9 minutes) to arrive by belt. If the round trip — loading, travel, unloading, return — takes 60 seconds, the train averages 133.33333333333334 ore/s, roughly 8.9 yellow belts. If the round trip takes 5 minutes (300 s), the average drops to 26.7 ore/s — less than two yellow belts. The capacity is fixed; the throughput depends entirely on cycle time.
Fluid Wagon vs. Barreled Cargo
The fluid wagon holds 50,000 fluid units
(capacity in data/2.1/machines.json). A cargo wagon
carrying barrels holds 40 slots × 10 barrels/stack ×
50 fluid/barrel = 20,000 fluid
units. The dedicated fluid wagon carries 2.5× as much fluid per
wagon as a cargo wagon of barrels — before accounting for the barreling and
unbarreling steps, each of which takes 0.2 seconds per barrel in a chemical plant.
| Method | Fluid per Wagon | Relative |
|---|---|---|
| Fluid wagon (direct) | 50,000 | 1.0× (baseline) |
| Cargo wagon of barrels | 20,000 | 0.40× |
The fluid wagon is the clear choice for bulk fluid transport by rail. Barreling makes sense when you need small amounts of a fluid at a remote outpost and do not want to lay a fluid wagon schedule — lubricant to an outpost that makes express belts, for example. For high-volume fluids (crude oil, sulfuric acid, light oil), the dedicated fluid wagon's 2.5× capacity advantage compounds with the fact that fluids transfer directly through pipes rather than requiring barrel inventory management.
Locomotive Speed and What It Means
The locomotive's max_speed is 1.2 tiles/tick, or
72 tiles per second. That is the top speed cap; actual
average speed over a route depends on acceleration, braking distance, the weight
of the wagons behind the locomotive, fuel quality, and any curves or signals that
force the train to slow down. None of those factors are in
data/2.1/ — acceleration curves and fuel bonuses are game mechanics
not exposed in the prototype data.
What the top speed tells you is the lower bound on travel time for a given distance. A straight, flat, signal-free route of D tiles takes at least D / 72 seconds at full speed. Real routes take longer. A common practical estimate for a 1-4 train on a long straight route is an average speed of roughly 50–60 tiles/s, but this is an observation from gameplay, not a value from the data files. Treat any round-trip time estimate as a design input you measure on your own track, not a number this page can compute for you.
Recipe Costs for Train Components
Trains are an infrastructure investment. The table below shows the ingredient cost
of each train component from data/2.1/recipes.json. These costs
explain why trains make sense for high-volume, long-distance routes: the upfront
steel and advanced circuits are substantial, but they are amortized over
thousands of trips.
| Component | Craft Time (s) | Ingredients |
|---|---|---|
| locomotive | 4 | 20 × engine-unit, 10 × electronic-circuit, 30 × steel-plate |
| cargo-wagon | 1 | 10 × iron-gear-wheel, 20 × iron-plate, 20 × steel-plate |
| fluid-wagon | 1.5 | 10 × iron-gear-wheel, 16 × steel-plate, 8 × pipe, 1 × storage-tank |
| rail-signal | — | 1 × electronic-circuit, 5 × iron-plate |
| rail-chain-signal | — | 1 × electronic-circuit, 5 × iron-plate |
| train-stop | — | 5 × electronic-circuit, 6 × iron-plate, 6 × iron-stick, 3 × steel-plate |
| rail | — | 1 × stone, 1 × iron-stick, 1 × steel-plate |
When Trains Make Sense Over Belts
The capacity numbers make the break-even logic concrete. A single yellow belt delivers 15 ore/s continuously. A 1-4 ore train delivers 8000 ore per trip. If the train makes the round trip in T seconds, its average throughput is 8000/T ore/s. The train beats one yellow belt when T is less than 533.3333333333334 seconds — about 9 minutes. For most inter-bases distances, that is an easy threshold to meet.
But belts have a cost that scales linearly with distance, while trains have a high fixed cost and near-zero marginal cost per additional tile of track. A belt spanning 500 tiles costs 500 × 1 iron gear + 500 × 1 plate (for two lanes of transport belt). A railway spanning the same 500 tiles costs rails (stone + steel), signals, and two train stops — plus the locomotive and wagons. For distances beyond a few hundred tiles, or for routes that need to deliver more than a few belts' worth of material, trains are cheaper per unit of throughput per tile.
The three factors that decide whether trains or belts are the right tool:
- Distance — longer distances favor trains. Belt cost and latency scale linearly; train cost is mostly fixed (track, signals, stops) with a small per-tile rail cost.
- Throughput needed — a 1-4 ore train can deliver thousands of items per trip. Matching that with belts requires dozens of parallel belts, each with its own cost and footprint.
- Duty cycle — belts deliver continuously. Trains deliver in bursts. If your factory cannot tolerate gaps between deliveries (a buffer-less production line), you need either enough wagons and multiple trains to keep a steady stream, or you stick with belts.
Loading and Unloading: The Real Bottleneck
A wagon of 2000 ore is only useful if you can load
and unload it quickly. Inserters are the primary tool, and the game data contains
their rotation_speed and extension_speed — but not enough
to compute items per second. Absolute inserter throughput depends on arm length,
pickup/dropoff position, stack size bonus, and belt compression, none of which are
in data/2.1/. We can compute relative speed ratios but not
absolute rates.
| Inserter | Rotation Speed | Extension Speed | Relative (rotation) |
|---|---|---|---|
| inserter | 0.014 | 0.035 | 1.08× |
| fast-inserter | 0.04 | 0.1 | 3.08× |
| long-handed-inserter | 0.02 | 0.05 | 1.54× |
| burner-inserter | 0.013 | 0.035 | 1.00× |
| bulk-inserter | 0.04 | 0.1 | 3.08× |
| stack-inserter | 0.04 | 0.1 | 3.08× |
The fast, stack, and bulk inserters all share the same rotation speed (0.04), which is 3.1× the burner inserter's. The difference between a fast inserter and a stack inserter is not speed per swing but the number of items per swing — the stack inserter benefits from stack size bonus research, which is not in the extracted data. In practice, a well-designed wagon unloading station uses 6 or 12 inserters per wagon (three or six per side) with stack inserters, and can empty a full wagon in seconds. But that "seconds" figure is a gameplay observation, not a computed value.
The design implication: loading and unloading must be sized to match the train's arrival rate. If a train arrives every 60 seconds and carries 8000 ore, the unload station must sustain 133 ore/s on average to keep up — roughly 4.4 red belts of throughput. The inserters and belts at the station must be able to absorb that burst, or wagons will queue and the train's average throughput will drop.
Train Signals: Regular vs. Chain
Factorio's signal system is a game mechanic — it does not require data values to explain. There are two signal types, and using them correctly is what allows multiple trains to share a rail network without deadlocking.
Regular (rail) signals divide track into blocks. Only one train may occupy a block at a time. A regular signal shows green if the next block is empty and red if it is occupied. A train entering a block reserves it and does not release it until the train has fully exited.
Chain signals only show green if the train can proceed beyond the chain signal and clear the next regular signal immediately. They prevent trains from entering an intersection unless they can also exit it — the primary defense against junction deadlocks.
The standard placement rules:
- Place chain signals before every intersection entrance.
- Place regular signals after the intersection, where a train may safely wait.
- Never place a regular signal inside an intersection.
- On straight track, space regular signals at least one full train length apart.
From Capacity to Average Throughput
The capacity table answers "how much can one trip deliver." The question a base designer actually needs answered is "how much per second does this train route deliver on average?" The formula is straightforward:
average_throughput = (cargo_slots × stack_size × wagon_count) / round_trip_time
For a 1-4 iron ore train, the numerator is 8000
items. The denominator is the total cycle time: waiting at the loading station,
loading, traveling to the destination, waiting at the unload station, unloading,
and traveling back. None of those time components are in data/2.1/.
They depend on your track layout, signaling, fuel, and the inserter configuration
at both stations. But the formula lets you reason about what matters.
Suppose a 1-4 ore train has a 90-second round trip. Its average throughput is 8000 / 90 = 89 ore/s. To match one yellow belt's 15/s, the round trip must be no longer than 533.3333333333334 seconds. To match a red belt's 30/s, the round trip must be under 267 seconds. To match a turbo belt's 60/s, it must be under 133 seconds — tight for a long route but achievable with direct express track and fast loading/unloading.
| Round Trip (s) | Ore/s (1-4 train) | Equivalent Yellow Belts | Equivalent Turbo Belts |
|---|---|---|---|
| 30 | 267 | 17.8 | 4.4 |
| 60 | 133 | 8.9 | 2.2 |
| 90 | 89 | 5.9 | 1.5 |
| 120 | 67 | 4.4 | 1.1 |
| 180 | 44 | 3.0 | 0.7 |
| 300 | 27 | 1.8 | 0.4 |
The table shows why train networks need multiple trains on the same route as distance increases. If a single train takes 300 seconds for a round trip, it delivers only 27 ore/s — less than two yellow belts. Running two trains on the same route, dispatched so they do not conflict, roughly doubles average throughput. Three trains triples it. The limit is not wagon capacity but how many trains can share the track without queuing — which is why signaling and intersection design are the real throughput constraints in a mature rail network.
Cost Perspective: When the Track Pays for Itself
A single yellow belt costs roughly one iron gear wheel and one iron plate per
tile. Over 500 tiles, that is about 1,000 items in raw materials for one lane
(two lanes for a full belt). A railway over the same 500 tiles requires rails
(each rail costs one steel plate and one stone, and covers two tiles), a handful
of signals, two train stops, and the rolling stock — one locomotive plus however
many wagons. The locomotive alone costs 20 electronic circuits, 30 steel plates,
and 10 engine units, per its recipe in data/2.1/recipes.json.
For a one-time, low-volume transfer over a short distance, the belt is cheaper. For a route that will carry thousands of items per minute for hours of game time, the train's high fixed cost is quickly amortized. The crossover point depends on throughput and distance, but a useful rule of thumb from the capacity numbers: any route that would need more than two or three blue belts to carry the required volume, or that spans more than a few hundred tiles, is almost always better served by rail. A 1-4 train can deliver as much ore per trip as dozens of belts, and the marginal cost of extending the railway another 100 tiles is just rails.
The other cost factor is footprint. A 4-lane main bus is 4 tiles wide and runs straight. A railway is 2 tiles wide (single track) or 4 tiles wide (double track) but requires space for signals, stops, and loading/unloading areas. Trains trade linear footprint for concentrated infrastructure: the track is narrow, but the stations are wide. In a megabase where every tile of ore patch must be mined, that trade-off usually favors rail.
Applies When
These calculations apply when:
- You are playing Factorio 2.1.x (version 2.1.12). Wagon inventory size, fluid wagon capacity, and belt speeds are extracted from this version.
-
Cargo wagon capacity uses
inventory_size = 40fromdata/2.1/machines.json, multiplied by each item'sstack_sizefromdata/2.1/items.json. Quality upgrades may increase effective capacity in gameplay and are not reflected here. -
Fluid wagon capacity is
50000frommachines.json. The barreled comparison uses 50 fluid per barrel from thewater-barrelrecipe and a barrel stack size of 10. - Locomotive top speed is 1.2 tiles/tick (72 tiles/s). This is a cap, not an average. Actual travel time depends on acceleration, fuel, train weight, and track geometry, which are game mechanics not in the extracted data.
-
Inserter throughput is NOT FOUND in absolute terms. The
rotation_speedandextension_speedvalues support relative comparisons only. Loading/unloading time estimates should be measured in-game. - Round-trip time is a design input you provide, not a value this page can compute. Average train throughput = wagon capacity × wagon count ÷ round-trip time.
Related
- Train Layouts — Stations, signaling and intersection principles.
- Smelting Ratios — How to size the furnaces that a ore train must feed.
- Belt Balancer Designs — Splitter counts and throughput for belt networks.