Skip to main content

Railway vs Render vs Fly.io in 2026: Auditing the Verdict Table, Then Pricing the Hetzner Row It Never Includes

12 min readDora NodaDora Noda
Share
On this page

On February 6, 2026, Salesforce moved Heroku into sustaining engineering: no new features, no new enterprise contracts for new customers, maintenance patches only. Thousands of teams that were already comparison-shopping suddenly had a deadline, and one comparison has absorbed most of that traffic ever since: Techsy's Railway vs Render vs Fly.io: Benchmarks & Pricing (2026), last re-checked against live pricing pages on July 19, 2026. It hands Railway the hobby-pricing and developer-experience crowns, Fly.io the scale crown on $0.02/GB egress, and Render the managed-database crown.

That was July. September has its own price lists, and two months is a long time in 2026 PaaS pricing. I re-ran every verdict in the table against real bills — and then priced the fourth column the comparison never includes: the same topology on an owned Hetzner box. Here is the audit, up front.

The verdict audit, up front

CrownTechsy winnerStatus in September 2026Deciding number
Hobby pricingRailwayHolds, with an asterisk~$5/mo — but "pay nothing when idle" contradicts Techsy's own no-scale-to-zero row
Scale pricingFly.ioHolds in NA/EU$0.02/GB egress — until your traffic is in Africa or India, where it is $0.12/GB
Managed databaseRenderHolds, comfortably~$9/mo with PITR vs ~$41/mo for the equivalent elsewhere
Scale-to-zeroFly.ioHolds, uncontested300ms–2s cold starts vs 30–60s on Render free, nothing on Railway paid
Developer experienceRailwayHoldsZero-config Railpack deploys vs fly.toml you must learn
Team featuresRenderHolds, and the gap widened$25/mo flat Pro workspace; Railway flattened to $20/workspace too

Four findings are worth your time even if you skim nothing else. First, Techsy's hobby justification contains a sentence that is simply wrong, and it matters for idle workloads. Second, Fly.io's scale crown has a regional tripwire nobody quotes. Third, at least one seat-price line in the July table is already stale. Fourth, the Hetzner fourth column undercuts every managed row at every tier — sometimes by 10x — a baseline managed-only comparisons structurally omit.

Idle economics: the hobby and scale-to-zero crowns

Techsy's hobby row prices one web service plus one database at ~$5/mo on Railway, $0 on Render's free tier, and ~$4–6/mo on Fly.io. Those numbers still hold. What does not hold is the sentence in the final verdict justifying Railway's hobby crown: "pure usage-based, pay nothing when idle."

Railway has no scale-to-zero. Techsy's own comparison table says so — "No (stays warm on paid)" — two sections above the verdict that claims the opposite. On a paid plan, a Railway service bills for every second it exists, idle or not.

"Pay nothing when idle" describes Fly.io Machines, which stop on zero traffic and wake on the next request. Attributing Fly.io's superpower to Railway in the verdict line is the single clearest error in the comparison, and it points the wrong team at the wrong platform: if your hobby project is a bot that wakes twice a day, Fly.io's meter stops between runs and Railway's does not.

The honest hobby ranking depends on what "idle" means for you. Render's $0 free tier is genuinely free but spins down after 15 minutes of inactivity with 30–60 second cold starts — fine for a demo, miserable for anything you open daily. Fly.io has no ongoing free allowance for organizations created after October 7, 2024 (just a short trial, then a credit card from the first dollar), so that ~$4–6/mo is real money on day one. Railway's $5/mo Hobby plan is the most predictable of the three, always warm, always $5-ish.

Now run the idle math for the workload the hobby row never specifies: an internal tool at roughly 10% duty cycle. On Fly.io, a small Machine bills ~10% of its ~$6/mo always-on cost plus a stopped volume at $0.15/GB — call it $1–2/mo. On Railway or a paid Render instance, the same tool bills the full always-on rate, $7–25/mo depending on size. Flip the duty cycle to a steady 24/7 service and usage-based pricing turns around and punishes you: Railway's metered $20/vCPU plus $10/GB-month means a 1 vCPU / 2 GB service costs $40/mo always on, against Render's $25 flat Standard instance and Fly.io's ~$16 shared Machine at the same size. Idle economics cut both ways, and the verdict table only shows one edge.

Audit result: hobby crown holds for Railway on price and warmth, but strike the "pay nothing when idle" justification — that crown belongs to Fly.io's scale-to-zero row, which holds uncontested.

The scale crown is an egress story

Techsy's scale tier — 4 web services, 2 workers, a Postgres cluster, Redis, 10K+ req/min — lands at ~$250–400/mo on Railway, ~$350–500/mo on Render, and ~$150–250/mo on Fly.io. The gap is almost entirely egress, so let's isolate it. Monthly bandwidth bill at volume, North America/Europe traffic:

Egress/moRailway ($0.05/GB)Fly.io ($0.02/GB)Render ($0.15/GB past allowance)Hetzner (20 TB included)
100 GB$5$2~$0 (inside allowance)$0
500 GB$25$10~$60$0
1 TB$50$20~$135$0
5 TB$250$100~$735$0

Two things jump out. First, Render's April 2026 replan traded a $70 seat-fee cut for metered bandwidth exposure: at 1 TB the bandwidth line alone ($135) can match the entire compute bill, and past roughly half a terabyte egress dominates every metered invoice. (Our September ledger has the full seat-vs-bandwidth sensitivity analysis.) Second, Hetzner's row does not move at all — 20 TB included, then about €1/TB ($1.17), which is roughly one-seventeenth of Fly.io's celebrated rate.

The sensitivity the verdict table buries is regional. Fly.io's $0.02/GB covers North America and Europe only. Asia-Pacific, Oceania, and South America pay $0.04/GB — still cheaper than Railway's flat $0.05, but the gap narrows from 2.5x to nearly nothing. And Africa and India pay $0.12/GB: at that tier, serving 1 TB costs $120 on Fly.io versus $50 on Railway. If your users are in Lagos or Mumbai, the scale crown flips — the flat-rate vendor beats the usage-based one on the very dimension the crown was awarded for. Any team serving those regions should re-run the scale tier with their own traffic map before trusting a NA/EU verdict.

Audit result: scale crown holds for Fly.io on NA/EU traffic, with the APAC narrowing and the Africa/India flip as mandatory footnotes.

The database crown is Render's moat

This is the least contestable verdict in the table, and the dollar gap is bigger than the pricing rows suggest. Render's managed Postgres includes point-in-time recovery on all paid instances, read replicas on larger tiers, automated backups, and slow-query logs. A ~10 GB production-plausible instance runs about $6 in compute plus $0.30/GB-month in storage: roughly $9/mo, PITR included.

Now price the equivalent elsewhere. Railway's default Postgres is a containerized single node — one click, one connection string, no PITR, no replicas, no automated failover. Running it costs metered compute plus volume, roughly $42/mo at 1 vCPU / 2 GB, and you still lack PITR. Railway shipped an experimental one-click HA Postgres upgrade in March 2026 (Patroni-managed, etcd leader election, HAProxy routing), but Railway's own changelog says not to run production data on it yet — treat it as a roadmap item, not a row in the table. Fly.io is explicit that Fly Postgres is not a managed database at all ("if Postgres crashes because it ran out of memory or disk space, you'll need to do a little work to get it back"), so the real Fly.io database bill is either your own on-call time or an external managed instance: Managed Postgres Basic at $38/mo plus $0.28/GB of storage (~$41 for 10 GB), or a Neon/Supabase project alongside your Fly.io compute.

So the database crown is not just a features checklist — it is a ~$9 vs ~$41/mo line item, the largest single-service gap in the entire comparison. It also explains the strangest shape in the cost table: Fly.io has the cheapest compute at every tier and still totals higher than you would expect, because the database entry fee eats the compute savings. Any "cheapest at scale" claim that prices compute without the database is quoting half an invoice.

Audit result: database crown holds for Render, and the margin (4x on price, plus PITR nobody else ships production-ready) makes it the verdict least likely to flip before year-end.

DX, teams, and how fast comparisons decay

The remaining two crowns hold with less drama, but together they demonstrate the real lesson of this audit: 2026 comparisons decay in weeks, not years.

Developer experience still belongs to Railway. Railpack derives the build from your package.json with zero mandatory config; Render's render.yaml is declarative infrastructure-as-code without Docker expertise; Fly.io's fly.toml offers the most control (deployment strategy, release commands, scale-to-zero settings) and demands the most knowledge. Fastest first deploy wins for iteration speed, and that is Railway by a clear margin.

Team features still belong to Render: native PR preview environments with full database copies, now on a flat $25/mo Pro workspace with unlimited members after the April 2026 replan killed $19/seat pricing. But here is the decay exhibit: Techsy's July table lists Railway Pro at $20/seat, while Railway's pricing page now reads Pro as $20 per workspace with $20 of included usage and unlimited seats — a flattening that appears to have landed after Render's, in summer 2026. A seat-price line written in July is already suspect in September. If you are budgeting off any comparison older than ~60 days, re-check the team row first; it is the row vendors rewrote most aggressively this year.

The missing row: Hetzner at all four tiers

Every managed-only comparison shares one structural bias: the none-of-the-above baseline never appears. So here it is — Techsy's four tiers priced on Hetzner's post–June 15, 2026 price list, same topology in each column (same app, same database, same egress assumptions as the sections above), converted at roughly €1 = $1.17:

TierStackRailwayRenderFly.ioHetzner (owned box)
Hobby1 web + 1 DB~$5$0*~$4–6~$6 (CX23, 2 vCPU / 4 GB)
Startupweb + worker + PG + Redis~$25–40~$50–60~$20–35~$10 (CX33, 4 vCPU / 8 GB)
Growth2 web + worker + PG + Redis~$80–120~$130–175~$60–90~$19 (CX43, 8 vCPU / 16 GB)
Scale4 web + 2 workers + PG + Redis~$250–400~$350–500~$150–250~$50 (AX41-class dedicated)

* Render free tier: $0 with 30–60s cold starts after 15 idle minutes.

The Hetzner column wins every paid row, and the margin grows with the tier: ~2–6x at Startup, ~3–9x at Growth, ~3–10x at Scale. The mechanism is no mystery — one flat machine replaces four metered dimensions (compute, database, previews, egress), and the 20 TB traffic allowance swallows the bandwidth line that dominates the managed rows past half a terabyte.

The honest caveats fit in one paragraph. Hetzner's number excludes ops time: self-run Postgres has no PITR unless you build it (which is precisely Render's moat, above), previews are containers you orchestrate, and regions are EU plus US East rather than Fly.io's global footprint. June's repricing also landed hardest on exactly the instances a growing fleet wants — dedicated-vCPU lines rose 2–2.7x, while the shared CX lines in this table rose a gentler ~1.3–1.4x. Price the box you need, not the anchor you remember. But after all caveats, the shape holds: the flat row repriced once, as one legible number, while the metered rows reprice continuously across five dimensions.

What to pick by stage

StagePickMove when
Solo hacker, sporadic trafficFly.io (scale-to-zero) or Render freeYou need always-warm without cold starts → Railway $5
Prototype to first usersRailway (fastest iteration)You need PITR or read replicas → Render
Production SaaS, managed infraRender (managed Postgres + flat teams)Egress passes ~500 GB/mo or users go global → Fly.io + external DB
Global / latency-sensitiveFly.io (+ Neon/Supabase for Postgres)Bills pass ~$150/mo steady-state → price the Hetzner row
Steady-state, cost-drivenHetzner box under Cluster APIYou need regions Hetzner lacks or zero-ops Postgres → back to managed

Techsy's verdicts survive September mostly intact: Railway for hobby and DX, Fly.io for scale and scale-to-zero, Render for databases and teams. What did not survive is the fine print — an idle-pricing sentence that contradicts its own table, a scale crown with a regional tripwire, a seat price that already decayed, and a missing fourth column that beats every row it is compared against. Read the verdict table, then read the invoice behind it. They agree on the winners and disagree on nearly everything else.

Bex.co is the open-source, AI-native Render alternative — the Hetzner row above, without hand-running the box: push a git repo, get a running HTTPS service on machines you own. Star the repo on GitHub or deploy your first app today.

Related articles

Run this on infrastructure you own

bex is the open-source, AI-native Render alternative — push a git repo and get a running HTTPS service on your own machines.

Get started with bex