Sri Lanka Railway Parcel Charges — Train Parcel Cost
Sri Lanka Railways prices a parcel from a published distance × weight grid, not per kilo — and almost everything inside 265 km costs Rs 50.00. Pick two stations and a weight above for the official rate, the 3× express charge, the value charge, and what to take to the counter.
How it works
There is no per-kilogram formula behind a railway parcel. The Department of Sri Lanka Railways publishes a single two-page PDF, Charges for Transporting Parcels by Trains, and page one of it is a grid: 39 distance bands down the side, 11 weight bands across the top, 428 rupee figures in the body. The whole job is finding the right cell and then applying the four rules on page two. That grid is transcribed here in full — every figure on this page comes out of it rather than out of an estimate.
Step 1 — the rail distance, not the road distance
SLR charges on distance along the track. Colombo to Jaffna is 395.83 km by rail; a map app will tell you something else. This tool takes the distance from the same station chart that powers the Sri Lanka train fare calculator — SLR's own printed distances, walked across the line tree so cross-branch journeys (Kandy to Galle, Trincomalee to Batticaloa) come out right. One dataset, not two copies that drift apart.
Step 2 — the distance band and the weight band
The rows run 0-25 km through 585-600km, and two of them are not the usual 15 km wide — 295-305 is ten and 440-465 is twenty-five, exactly as printed. A distance takes the first row whose upper edge covers it, so a journey of precisely 265 km uses the 250-265 row rather than 265-280; the calculator says so when that happens, because the chart at the counter may read the other way. Weight rounds up: SLR's columns are whole kilograms, so a 1.5 kg parcel is charged as 2 kg and moves out of the 0-1 column into 2-5.
Step 3 — the 50-rupee floor
Nothing in the grid costs less than Rs 50.00, and a large block of it — everything up to roughly 265 km and 30 kg — sits exactly at that floor. That single fact is the answer to most searches that bring people here: a small parcel anywhere on the southern, hill-country or Kelani Valley network is Rs 50.00, and weighing it more precisely will not change the price.
Step 4 — the express rule and the special items
normal = GRID[distance band][weight band] transport = normal × (express ? 3 : 1) × specialItemMultiplier value = listedCategory ? declaredValue × bandRate : 0 total = transport + value
The express line is printed on its own: Mail, Intercity & Express Trains - 3 x Normal Rate. The special-items table then names five cases — fish travelling with its owner at 50% above the normal charge, letters at a flat Rs 20.00 that replaces the grid rate outright, and furniture in small lots, chicks in ventilated boxes and light bulky articles (SLR's examples: empty coffins, umbrellas, cushion mattresses, Rigifoam boxes) at three times the normal charge.
Step 5 — the value charge, added rather than multiplied
The tariff's wording is precise: “Except transport charge, charges are applied for the following items as a percentage from its value.” That is why the value charge sits on top of the transport charge instead of scaling it, and why it applies to a short list — lottery tickets, medicines, tyres, glass, electronic appliances — rather than to every parcel. The bands are cumulative in the sense of replacing each other, not stacking: one rate applies to the whole declared value.
What this tool refuses to guess
Three things in the source are genuinely unreadable, and none of them is filled in with a plausible number. The grid has a twelfth, unlabelled money column (Rs 15.00 rising to Rs 53.00 by distance) whose header does not survive in the PDF's text layer, so it is left out. On the special-items table: SLR's special-items table prints two money columns (3 × and 5 × Normal Charge) without column headers, so it is not published whether an express train carrying furniture, chicks or a light bulky article pays 3 × 3 = 9 × the normal rate or the flat 5 × of the second column. Both figures are shown; the parcel counter decides. And one cell of the grid, 585-600 km at 46-50 kg, is printed as a dash; the tool refuses that combination rather than interpolating between its neighbours.
How these figures are checked
The grid is 39 × 11 cells transcribed by hand, and a banded lookup is the classic place for an off-by-one, so the module checks itself rather than asking to be trusted. Every row must be contiguous with the one above it, so no distance can fall into a gap. Every published cell must be at or above the Rs 50.00floor, and must not fall as weight rises within a row or as distance rises within a column. Then the whole grid is walked twice — top-down (“first row that fits”) and bottom-up (“last row that fits”) — at every cell centre and at every printed band edge, because those two walks disagree exactly where a band lookup is off by one. Finally the four worked examples below are replayed through the real pricing function, distance and all.
All checks pass. 428 published rates, one documented gap, both band walks in agreement, and the four hand-computed examples reproduced to the rupee.
Worked examples
Railway parcel charges at 10 kg, common routes
One row per corridor, at a 10 kg parcel on an ordinary train and on a Mail, Intercity or Express train. No value charge and no special-item rule — use the calculator above for those.
| Route | Rail km | Ordinary | Express |
|---|---|---|---|
| Colombo Fort → Kandy115-130 km band | 120.74 | Rs 50.00 | Rs 150.00 |
| Colombo Fort → Galle100-115 km band | 113.89 | Rs 50.00 | Rs 150.00 |
| Colombo Fort → Matara145-160 km band | 156.82 | Rs 50.00 | Rs 150.00 |
| Colombo Fort → Badulla280-295 km band | 292.39 | Rs 58.00 | Rs 174.00 |
| Colombo Fort → Anuradhapura190-205 km band | 204.94 | Rs 50.00 | Rs 150.00 |
| Colombo Fort → Trincomalee295-305 km band | 296.91 | Rs 62.00 | Rs 186.00 |
| Colombo Fort → Batticaloa335-350 km band | 349.69 | Rs 75.00 | Rs 225.00 |
| Colombo Fort → Jaffna395-410 km band | 395.83 | Rs 95.00 | Rs 285.00 |
Source: Department of Sri Lanka Railways, “Charges for Transporting Parcels by Trains”, read on 2026-09-27. Distances are SLR's own rail distances.
What to do at the parcel counter
The procedure below is SLR Services §11.5, condensed to the steps you actually take. Allow 15 to 30 minutes at the station.
- Go to any railway station on a weekday between 09.00 and 16.00 — every station accepts parcels.
- Collect the parcel application form at the station, fill it in, and hand it over with the parcel.
- Pack the contents properly so nothing is damaged in transit, and be ready to open the parcel if the Station Master asks.
- Attach the receiver's name and address to the parcel itself.
- Give the Station Master the receiver's name, address and NIC number, and your own NIC.
- Take the way bill you are issued and send it to the receiver — it is the only proof of consignment.
- The receiver collects the parcel by handing the way bill and their own NIC to the Station Master at the destination.
Documents to take (§11.4)
- National Identity Card of the person handing the parcel over.
- Transport permits for timber, and purchase bills for furniture.
- A document certifying the value of the goods if the parcel is of high value (for example, a purchase bill).
- The revenue licence in the case of bicycles and similar items.
What the station can turn away (§11.8)
Station Masters are empowered to reject any goods or parcel if they are suspicious about the type of goods or about the person handing them over. Goods prohibited by the Railway Ordinance and departmental circulars are never accepted.
Parcel queries go to SLR's Commercial Superintendent on 011 232 0109.
The rules this tariff runs on
| Rule | What SLR prints |
|---|---|
| Fish accompanied by the owner | 50% above the Normal Charge |
| Letters | Rs.20.00 |
| Furniture in small lots | 3 x Normal Charge |
| Chicks in ventilated boxes | 3 x Normal Charge |
| Light but bulky articles | Light weight Articles which required (Eg. Empty Coffins, Umbrellas, Cushion mattress, Rigifoam boxes) — 3 x Normal Charge |
| Value charge — Up to Rs 1,000 | No insurance charge |
| Value charge — Rs 1,000 to Rs 5,000 | 1.0% of declared value |
| Value charge — Rs 5,000 to Rs 10,000 | 1.5% of declared value |
| Value charge — Rs 10,000 to Rs 20,000 | 2.0% of declared value |
| Value charge — Over Rs 20,000 | 3.0% of declared value |
Value-charge bands apply only to lottery tickets, medicines, tyres, glass, electronic appliances. The tariff also lists “Machines not exceeding 50Kg” with a dash in both money columns, so no multiplier is published for it and none is applied here.
Frequently asked questions
Sources & references
- Department of Sri Lanka Railways — “Charges for Transporting Parcels by Trains” (the normal-rate grid, the 3× express rule, the five value bands and the special-items table)
- Department of Sri Lanka Railways — SLR Services §11, “Transporting Parcels by Trains” (the 50 kg cap, counter hours, documents, the way bill and the Station Master's discretion)
- Department of Sri Lanka Railways — Fare and Charges index (where both PDFs are published, and what the freshness check re-reads)
- Department of Sri Lanka Railways — official site
Both PDFs were fetched and transcribed in full on 2026-09-27: 428 rate figures, one documented gap, nothing interpolated. Station distances are not duplicated here — they are imported from the train fare calculator's dataset, which holds SLR's own printed rail distances. The tariff changes only when SLR issues and republishes a new schedule, so the source index is re-read by 2027-03-27. If you are pricing a letter or a small packet, compare with Sri Lanka Post's rates — a different operator with a different tariff. Journeys longer than 600 km are outside the published grid and are refused rather than extrapolated.
Related tools
Comments & feedback
Spotted a bug or want an improvement? Tell us — our team reviews every comment, and good ideas get built. Comments are public and anonymous.
Paid a different charge at the parcel counter, or spotted a new tariff?
Email me at [email protected] — most fixes ship within 24 hours.