Skip to main content

The Free Tier Is Dead in 2026 Except Render: What Zero-to-Free Now Costs a Side Project on Each PaaS

12 min readDora NodaDora Noda
Share
On this page

In November 2022, Heroku deleted the free tier that had launched a generation of side projects, and every PaaS has been quietly following it out the door ever since. Fly.io ended free allowances for new accounts in October 2024. Railway now gates everything behind a $5 trial credit that expires in 30 days. Koyeb closed its free Starter tier to new users after the Mistral acquisition in early 2026. Of the general-purpose git-push platforms, exactly one still offers a genuinely free-forever tier with no expiry date: Render.

So what does "free" actually cost now? Below is the real zero-to-free math for a typical side project — a small web app plus a Postgres database — on Render, Railway, Fly.io, Vercel, and Heroku, measured against the flat-rate alternative of a box you rent yourself. If you only read one table this week, make it the first one.

The verdict up front: zero-to-free in one table

Assumptions: one small web service plus one Postgres database, modest traffic comfortably under every bandwidth quota. "Sleeps-OK" means the app may spin down when idle; "always-on" means it never sleeps and the database never expires.

PlatformFree-forever?Trial + expiryMinimum paid floorSleeps?12-mo sleeps-OK12-mo always-on
RenderYes (750 hrs/mo)N/A — no expiry$7/mo StarterYes — 15 min idle, ~30–60 s cold start$0 *~$84 + paid DB
RailwayNo$5 credit, expires in 30 days$5/mo Hobby (incl. $5 usage)No — never sleeps$60 **~$60 **
Fly.ioNo (new orgs)2 VM-hours or 7 daysPay-as-you-go from $0No — metered, never sleeps~$96–300~$96–300
Vercel HobbyYes — non-commercial onlyN/A — no expiry$20/mo Pro per seatN/A — serverless, no persistent backend$0 †$240/seat ††
HerokuNo (since Nov 2022)None$5/mo Eco (1,000 shared hrs)Eco sleeps after 30 min idle$120 (Eco + Essential-0 PG)$144 (Basic + Essential-0 PG)
Hetzner (CAX11/CX22)N/A — flat-rate boxNone€3.79–4.49/mo ($4–5)Never — your machine, your uptime~$50–60~$50–60

* Render's free Postgres expires after about 90 days, so a truly $0 year means migrating or recreating the database quarterly. ** A quiet side project typically fits inside Hobby's included $5 of usage; busier apps meter above it. † Free only for personal, non-commercial projects — Vercel enforces this. No long-running backend is possible on any Vercel tier. †† Commercial use starts at Pro, which still buys serverless, not an always-on server.

Two scope notes before anyone reaches for the comments. First, PythonAnywhere still offers a free-forever Beginner account — but it hosts Python apps on a shared domain, not arbitrary containers, so it sits outside this general-PaaS comparison. Second, the "except Render" in the title means except Render for general, always-on-capable, commercial-OK backend hosting: Vercel Hobby is free forever but bans commercial use and cannot run a persistent server. With that settled, here is what "free" concretely means on each platform in 2026.

What "free" actually means on each platform in 2026

Render: the last free tier standing. Each workspace gets 750 free instance-hours per month shared across free web services — 512 MB RAM, 0.1 CPU, 100 GB of bandwidth, and 500 build minutes monthly, with no credit card required. Do the division: a month has ~730 hours, so the quota covers exactly one service running around the clock and nothing else. Services spin down after 15 minutes without traffic and take roughly 30–60 seconds to wake. Free Postgres exists but is deleted after about 90 days. The paid escape hatch is Starter at $7/month: always on, no hour cap.

Railway: a $5 taste, then $5 a month. New accounts get a one-time $5 trial credit that expires 30 days after signup — enough to evaluate the platform, not to live on. After that, the Hobby plan costs $5/month flat and includes $5 of usage credit; you pay the $5 even if you use less. Railway removed its prepaid-credit option in early 2026, so there is no longer a way to park a small balance and coast. The upside: nothing sleeps, ever. Databases, Redis, cron, and web services all draw from the same usage pool on one bill.

Fly.io: the trial lasts a week; the meter runs from dollar one. For any organization created after October 7, 2024, there are no free allowances — just a trial of 2 VM-hours or 7 days, whichever ends first, and then pay-as-you-go with a credit card on file. Only legacy organizations on the deprecated Hobby, Launch, and Scale plans keep the old deal (up to 3 shared-CPU VMs with 256 MB RAM, 3 GB of volumes, 100 GB of transfer). Volume snapshots became billable in January 2026 (first 10 GB free, then $0.08/GB/month). Realistic small-app spend lands around $8–25/month once compute, storage, and egress are summed.

Vercel Hobby: free, generous — and personal-only. The Hobby plan costs $0 with 100 GB of bandwidth, 1M edge requests, 1M function invocations, and 4 CPU-hours per month. The catch is not the quotas, it is the terms: non-commercial personal use only, and Vercel enforces it. The moment a side project earns its first dollar — or belongs to a company — the floor is Pro at $20/month per member. And architecturally, no Vercel tier runs a long-lived process: bots, websocket servers, and queue workers simply do not fit.

Heroku: no free anything since November 28, 2022. The cheapest way onto the platform is Eco at $5/month for a shared pool of 1,000 dyno-hours — and Eco dynos still sleep after 30 minutes without web traffic, consuming hours only while awake. Always-on starts at Basic, $7/month. Databases are a separate line item: Essential-0 Postgres runs $5/month, Mini Redis another $3. A production-grade setup (Standard dynos at $25+/month, Standard Postgres at $50+/month) is an order of magnitude above the entry floor, which is exactly why Heroku's entry pricing deserves its own row in the migration math.

The real first-year bill for a typical side project

Take the concrete basket: one small web app, one Postgres database, a custom domain, modest traffic. Here is the 12-month total per platform, with the asterisk each total carries.

  • Render, sleeps-OK: $0. Free web service plus free Postgres, inside the 750-hour quota — until day ~90, when the free database is deleted. A genuinely $0 year requires recreating or migrating the database every quarter, which is fine for a demo and miserable for anything with users.
  • Render, always-on: ~$84 plus a paid database. Starter at $7/month keeps the app awake; the database needs a paid plan to stop expiring. Budget roughly $150–160 for the year all-in.
  • Railway: ~$60. Hobby's $5/month includes $5 of usage, and a quiet app plus a small Postgres typically fits inside it. There is no cheaper configuration and no sleep lottery — $60/year is both the floor and, for quiet projects, the ceiling.
  • Fly.io: ~$96–300. No floor below the meter: a small shared-CPU VM, a few GB of volume, and egress sum to roughly $8–25/month in practice. The range is the point — Fly bills what you burn, so the bill answers to your traffic.
  • Vercel Hobby: $0, non-commercial only. Add a managed Postgres (Neon, Supabase) free tier and a frontend can genuinely run at $0 — provided it never earns revenue and never needs a persistent process. Commercial: $240/year per seat before database and overages.
  • Heroku: $120 sleeps-OK (Eco + Essential-0), $144 always-on (Basic + Essential-0). The database costs as much as the compute at the entry tier — the classic Heroku shape, unchanged since free died.
  • Hetzner: ~$50–60. A CAX11 (ARM, €3.79/month) or CX22 (x86, ~€4.35/month) buys 2 vCPUs, 4 GB of RAM, 40 GB of NVMe, 20 TB of traffic, and an IPv4 that never sleeps and never expires. Postgres runs on the same box at no extra charge. The price you pay instead is operational: OS patches, backups, and TLS are yours.

Now the sensitivity — the variables that break these totals. Bandwidth is the big one: Render includes 100 GB/month free, Vercel Hobby 100 GB (Pro 1 TB), Fly.io meters egress from the first byte, while Hetzner ships 20 TB — two orders of magnitude more headroom before overages exist. Storage billing sneaks up on Fly.io (snapshots billable since January 2026) and on Render (free Postgres expiry is a time bomb, not a bill, but it costs you a migration). Build minutes cap Render's free tier at 500/month — a monorepo with slow Docker builds can eat that before the month does. None of these change the ranking for a quiet project, but any one of them can double the Fly.io or Render number for a busier one.

The sleep tax: which tiers spin down and what it costs you

Sleep is the real currency of free tiers — every platform that still offers $0 hosting charges you in cold starts instead of dollars. The terms:

  • Render free: sleeps after 15 minutes idle; ~30–60 seconds to serve the next request. Fine for a portfolio demo; disqualifying for a Telegram bot on long-polling, a webhook receiver with latency SLOs, or anything with a cron schedule denser than the sleep window.
  • Heroku Eco: sleeps after 30 minutes idle and draws down the shared 1,000-hour pool only while awake. A single Eco app receiving steady traffic burns ~730 hours/month and fits; two busy apps share the pool and can exhaust it.
  • Railway, Fly.io (paid), Hetzner: never sleep. Railway and Fly.io charge money instead; Hetzner charges a flat €4-ish whether you sleep or not.

The honest question is which side projects can tolerate sleep. A demo you open twice a week: yes, sleep away. An API your other project calls, a Discord bot, a small SaaS with paying users, anything behind a custom domain you printed on a slide: the first cold start after every idle window is a bug report waiting to happen. That is why Render's free tier, generous as it is, converts to $7/month Starter the moment a project matters — and why Railway's and Fly.io's no-sleep metered models can be cheaper than they look for anything with real traffic.

The flat-rate alternative: a box that never sleeps

Step back and look at the always-on column again: $60 (Railway), ~$84+ (Render), ~$96–300 (Fly.io), $144 (Heroku), $240/seat (Vercel Pro). Now the Hetzner row: ~$50–60 a year for a machine with 2 vCPUs and 4 GB of RAM — more compute than any entry PaaS tier — plus 20 TB of transfer and a Postgres you run yourself at marginal cost zero. The box does not care whether your app sleeps, how many deploys you push, or whether your side project makes money. There is no trial clock, no 90-day database expiry, no per-seat multiplier.

The catch is well-known and should not be minimized: the box ships without a platform. Git-push deploys, preview environments, managed TLS rotation, Postgres backups, and log drains are features you build, borrow, or bolt on. For a weekend demo that is a bad trade — take Render's $0 and accept the naps. But somewhere between "demo" and "second year of $15/month metered bills," the math flips: two quiet apps on Railway ($120/year) already cost double the Hetzner box that could host both plus their databases.

That crossover is exactly where self-hosted PaaS tooling earns its keep. The gap between a bare VPS and a git-push workflow — buildpacks, reverse proxy, automatic TLS, one-command deploys — is a solved problem you install rather than a service you rent. Run the platform layer on your own €4 box and the free-tier debate stops being about which trial expires when: the floor becomes flat, predictable, and permanently yours.

Pick your floor: a decision guide

  • Weekend demo, portfolio piece, hackathon: Render free ($0) or Vercel Hobby ($0). Accept the sleep or the non-commercial terms; both are honest deals for code nobody depends on.
  • Always-on bot, API, or webhook receiver: Railway Hobby ($60/year, never sleeps) is the cheapest metered floor. Fly.io wins if you need multi-region edge; it loses on bill predictability.
  • Side project that might earn money: skip Vercel Hobby (terms forbid it) and price Vercel Pro ($240/seat) against Railway or Render Starter. Revenue changes the tier math before it changes anything else.
  • Two or more services, or year two of any metered bill: do the Hetzner comparison honestly. ~$55/year flat against $120–300/year metered is not a close call once you count the database.
  • Done paying rent on principle: a self-hosted PaaS on your own box — git push, HTTPS, Postgres included, no trial clock, no sleep schedule, no per-seat anything.

The free tier is not coming back. Heroku proved in 2022 that platforms can delete $0 hosting and survive; Fly.io, Railway, and Koyeb have spent the years since proving the same thing in sequence. What remains is a menu of floors — $0-with-sleep, $5 metered, $7 always-on, $20 per seat — and one flat-rate box underneath them all that never sleeps and never expires. Pick the floor that matches what your project actually is, not what you hope the trial lasts until.

Bex.co is the open-source, AI-native Render alternative — 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