
Car vs Train Cost & CO₂ Calculator (Door-to-Door)
Free online tool to compare car vs train costs and emissions for one-way or round trips. Includes parking, tolls/congestion, local transit, class & rail discounts, EU/UK/US presets, km/mi, and optional carbon price. See total and per-passenger breakdowns, a group-size sparkline, then copy, print/PDF, share, or open the full app to edit assumptions.
🧭 Overview
The Car vs Train Cost Calculator estimates door-to-door travel costs and CO₂e for one-way or round-trip journeys. Enter two cities (or override the distance), choose passengers, and tweak parking, tolls/congestion, first/last-mile transit, class & rail discounts. You can also apply an optional carbon price to internalize emissions. The tool returns total and per-passenger results, a breakdown by cost component, a micro-bar legend, and a sparkline showing how per-passenger cost changes with group size. Use Open full comparison to fine-tune assumptions in detail.
⚙️ How the calculator works
- Distance: Great-circle (Haversine) between city coordinates. You can enter a manual distance to override.
- Car cost per-km: fuel/energy €/km + maintenance €/km + depreciation €/km. Then add tolls + parking (optionally per leg) and optional carbon price × kgCO₂e/km × distance.
- Train: Base fare uses distance bands (€/km) × class multiplier × optional discount, plus reservation per passenger per leg and simple local transit per passenger per leg. Optional carbon price uses rail kgCO₂e per-km-per-passenger.
- Per-passenger: Car total ÷ passengers vs. train per-passenger fare. The winner badge and per-unit badges (€/km or €/mi; kg CO₂e/km or /mi) help compare quickly.
- Regions & currency: EU/UK/US presets adjust fuel/electricity and rail bands. Display currency converts from EUR using a simple rate (optionally refreshed daily).
🧮 Formulas
Car total (€) = D × (Fuel/energy€/km + Maint€/km + Depr€/km) + Tolls + Parking(€/h × hours) [× legs if "per leg" is on] + CarbonPrice(€/kg) × (Car_kgCO₂e/km × D) Train total (€) = (D_oneway × Fare€/km × ClassMult × Discount) × legs × passengers + Reservation(€ per pax per leg) × legs × passengers + LocalTransit(€ per pax per leg) × legs × passengers + CarbonPrice(€/kg) × (Rail_kgCO₂e/km/pax × D × passengers) Per-passenger: Car_pp = Car total ÷ passengers Train_pp = Train total ÷ passengers Emissions (not priced): Car_total_CO₂e = Car_kgCO₂e/km × D Train_total_CO₂e = Rail_kgCO₂e/km/pax × D × passengers
Emissions factors: defaults align with the UK Government’s Greenhouse gas reporting: conversion factors 2025 (cars & rail; per-km, per-passenger). See gov.uk/conversion-factors.
📏 Key assumptions (defaults)
- Car profiles (€/km, kg CO₂e/km) — Petrol 7.0 L/100 km @ €1.80/L, Maint €0.05, Depr €0.10, CO₂e 0.171; Diesel 5.5 L/100 km @ €1.75/L, CO₂e 0.164; Hybrid 4.5 L/100 km @ €1.80/L, CO₂e 0.120; EV 17 kWh/100 km @ €0.28/kWh, Maint €0.04, Depr €0.09, CO₂e 0.045.
- Train (EU preset): bands ≤80 km: €0.25/km; ≤300 km: €0.16/km; >300 km: €0.12/km; class multiplier: Standard 1.0, 1st 1.5; rail discount factor ≈0.67; reservation €3 per pax per leg; local transit default €4 per pax per leg; rail CO₂e 0.041 kg/km/pax.
- Units: Internal km; UI toggles km/mi. Currency: Internal EUR; display converts to your currency selection.
- Round trip: All per-leg items scale with legs = 2 (reservation, local transit, per-leg parking/tolls if enabled).
🧪 Worked example (matches the calculator)
Route: Berlin → Munich, 504 km (great-circle), one-way, 1 passenger, EU preset, EUR, Standard class, no rail discount, parking/tolls = 0, local transit €4/pax/leg, reservation €3/pax/leg, carbon price = 0.
- Car (petrol):
fuel 7.0 L/100 km @ €1.80/L → €0.126/km; maint €0.05/km; depr €0.10/km ⇒
€0.276/km
.
Distance D = 504 km → car variable =504 × 0.276 = €139.104
.
Tolls+Parking = €0; Carbon price = €0 ⇒ Total = €139.10 (per-passenger = €139.10). - Train (standard):
band >300 km → €0.12/km; base fare one-way =
504 × 0.12 = €60.48
.
Reservation = €3; Local transit = €4 ⇒ Per-passenger = €60.48 + €3 + €4 = €67.48 (total for 1 pax = €67.48). - Winner: Train cheaper by €72 (≈51%).
- Emissions: Car =
0.171 × 504 = 86.2 kg CO₂e
; Train =0.041 × 504 × 1 = 20.7 kg CO₂e
→ Train lower by 65.5 kg (≈76%). - Break-even passengers (same assumptions):
n ≈ Car_total / Train_pp =
€139.10 / €67.48 ≈ 2.06
→ with 3+ passengers, car per-person becomes cheaper.
🧠 How to read the results
- Winner badge: shows cheaper mode and % versus the other side’s total.
- Micro-bars + legend: Each bar splits the total into components (Fuel/Energy, Maintenance, Depreciation, Tolls+Parking, Carbon price). Hover for tooltips.
- Sparkline + legend: Two lines (Car, Train) show per-passenger cost as your group size increases from 1→5. Car line slopes down (cost split across more people); train is relatively flat.
- Per-unit badges: Quickly compare €/km (or €/mi) and CO₂e per-km (or per-mi) per passenger.
- Round trips: Reservation and local transit apply per passenger per leg. Car parking/tolls can be toggled “per leg”.
💡 Popular use cases
- Budgeting weekend trips and family holidays (is an extra passenger the tipping point?).
- Estimating work travel costs with or without railcards/discounts.
- Sustainability reporting or shadow-pricing trips with a carbon price.
- Comparing EV vs petrol/diesel costs across regions (EU/UK/US).
- Quick sanity-checks before checking live train fares or fuel prices in the full app.
📝 Tips for accurate comparisons
- Use Region preset to align prices (EU/UK/US) and optionally switch units. You can still set currency independently.
- Add realistic parking hours for city centers and any tolls/congestion on your route.
- Keep local transit for train realistic: airport/metro/bus/taxi to/from stations.
- Try a small carbon price (e.g., €0.10–€0.20/kg CO₂e ≈ €100–€200/tCO₂e) for internal decisions.
- For ferries/tunnel, add them under Tolls. For intercontinental trips, plan each land leg separately (the tool shows an ocean-crossing warning).
❓ FAQ
Are the results real train ticket prices?
Where do the emissions numbers come from?
What does the “carbon price” do?
€ per kg × total kg CO₂e
. Set to zero to exclude; set to a value (e.g., €0.15/kg) to include climate externalities in totals.Why is the train line flatter in the sparkline?
Do parking and tolls apply on both outbound and return?
How are round trips handled?
legs = 2
. Train fare, reservations, and local transit scale with legs × passengers. Car variable costs scale with total distance; per-leg parking/tolls are multiplied if enabled.Why is the distance slightly different from the road/rail distance on maps?
Do you include time, delays, or reliability?
How do EVs compare to petrol/diesel?
What are the default car costs per km?
What are the EU train bands?
Does the “Rail discount” match my card exactly?
Do you include seat reservations on every train?
What about ferries or Eurotunnel?
Can I share or export results?
My trip crosses an ocean. Why do I see a warning?
Does currency selection change the math?
Why do micro-bars sometimes show tiny segments?
What happens when I switch units (km/mi)?
How precise are the numbers?
🧰 Actions & workflow
- Calculate / Update: Runs the model and auto-scrolls to the results.
- Clear: Resets inputs and auto-scrolls to the top of the form.
- Copy / Export / Print / Save as PDF / Share Link: One-click outputs for collaboration and record-keeping.
- Open full comparison: Deep link with your inputs to the advanced tool.
⚠️ Disclaimer
This is a planning and education tool. Results are estimates based on the assumptions shown and public emissions factors. Real-world prices vary by operator, timing, traffic, and currency rates. No warranties; use at your own discretion. Always verify before purchasing tickets or making expense claims.
📚 Sources
- UK Government — Greenhouse gas reporting: conversion factors 2025 (emission factors for cars & rail).
- City coordinates: curated datasets & public sources (e.g., GeoNames) for place matching.