Comparisons

Preview Environment Pricing Compared

What four open full-stack previews add to a month's bill on 7 platforms, when nobody is looking at them

Preview Environment Pricing Compared
Published

Preview environment pricing comes down to one question: does a preview that nobody is looking at keep billing? On Light Cloud, Vercel and Netlify it doesn't, so four open previews of a full-stack app add close to nothing to the month. Railway, Heroku and Render run each preview as another copy of your app, and four of them add about $8 to $19, $48 and $78.20.

That's for an app with a real backend. If your site is frontend only, previews cost nothing extra on Vercel, Netlify and Cloudflare Pages, and the only question left is which one you like working in.

We make Light Cloud, which comes first here, partly on a tie-break I'll explain. Every other number links to the vendor's own page.

How we ranked

The reference app is a React frontend, an API that runs as a container, and PostgreSQL. Four pull requests are open all month, and each preview gets opened a few times, by the author and a reviewer, and otherwise sits there. That's a normal week for a small team.

The figure in the table is what those four previews add on top of the app's own bill, using list prices checked on 2026-10-13 and again on 2026-11-02 for Railway, Fly.io and Netlify. If a platform only offers full-stack previews on a higher plan, the upgrade counts. Where a platform bills by usage I state the assumption and price that usage, not the plan's starting fee. Light Cloud and Vercel both come out at about zero, so the tie goes to the cheaper plan the whole app runs on.

One thing the price doesn't show is what's inside the preview's database. A fresh, empty database, a branch of production, or production itself are three very different things for a reviewer, so that's the first column.

The ranking

Cheapest first: what idle previews add to the billPrices checked 13 Oct 2026
1
$0
Container and API previews of every branch that cost nothing while idle, on any planPrice: about $0.24, inside Lite's $5
Database in each previewShares production until you change itPlan it needsEvery plan; Postgres from Lite, $5
2
~$0
Next.js teams on Pro that want a database branch per preview from a partner such as NeonPrice: on Pro, $20 per seat
Database in each previewBranch from a partner such as NeonPlan it needsPro, $20 per seat, for commercial use
3
$0
Apps whose backend fits in serverless functions and that want production data in every previewPrice: functions only; database branch price not published
Database in each previewBranch with a copy of production dataPlan it needsEvery plan; functions only
4
~$0.60
Teams happy to maintain a GitHub Actions workflow for previews that stop when idlePrice: 4 stopped machines, 1 GB disk each
Database in each previewNone in the default workflowPlan it needsPay as you go
5
$8-19
Whole-app copies per pull request, database service included, billed like any other usagePrice: 250 MB API + 200 MB Postgres each; API asleep vs awake
Database in each previewCopy of the database servicePlan it needsEvery plan
6
$48
Teams already on Heroku Pipelines that want review apps with their own PostgresPrice: 4 x Basic dyno + Essential-0
Database in each previewPostgres add-on from app.jsonPlan it needsBilled as normal apps
7
$78.20
Full-stack previews with fresh services and datastores, private network includedPrice: Pro $25 + 4 copies
Database in each previewFresh datastores, no data copiedPlan it needsPro workspace, $25 a month
List prices from each vendor's own pricing and docs pages, checked 2026-10-13 and again on 2026-11-02 for Railway, Fly.io and Netlify, US dollars. Reference: a React frontend, an API that runs as a container, and PostgreSQL. Four pull request previews stay open all month and are opened a few times each. The figure is what those previews add on top of the app's own bill, including any plan upgrade previews require. Usage-billed platforms are priced on the usage the previews generate, never on a plan's starting fee: on Railway each preview's API holds about 250 MB of RAM and its Postgres about 200 MB, with the API asleep or awake; on Fly.io each stopped preview machine stores a 1 GB image. Ties are broken by the cheapest plan the whole app runs on.

1. Light Cloud

Best for: container and API previews that cost nothing while they sit idle.

Every branch you push gets an environment and its own URL, and preview URLs are unlimited on every plan, Free included (docs). Containers scale to zero when nobody uses them, so the only fixed cost is the build: the pricing page counts two 2-minute builds at $0.01 a minute for a server app and two cents for a static preview (pricing). Four previews of the reference app come to about $0.24 a month. The app itself uses about $4.24 of Lite's included $5, so the invoice stays at $5. That's the case for preview environment pricing that follows traffic instead of time.

Per-branch preview environments don't count against the plan's server-app limit, and you can deploy a Dockerfile, Django or Spring Boot app as the API, not only JavaScript. Deleting the branch deletes the environment, which the branch preview tutorial shows end to end.

The weak spot is the database. A preview starts from the app's environment variables, so it talks to the production database until you point it somewhere else. On Starter and up you can give previews a Postgres database of their own for about $4 a month, and Lite allows only one database in total. Nothing on our side copies production data into a branch, which is safe and also means the reviewer starts with whatever you seed.

2. Vercel

Best for: Next.js teams on Pro that want a database branch in every preview.

Vercel builds a preview for pushes and pull requests on every plan (docs), and a container running on its Container Runtime, in beta, scales down after 30 seconds without traffic in a preview. Idle previews therefore cost about nothing. I found no separate preview fee. A commercial project needs Pro, $20 per deploying seat, because Hobby is for non-commercial use.

The database comes from a Marketplace partner. With Neon's Vercel integration, every preview deployment gets its own branch, a copy-on-write clone that costs almost nothing while idle; Neon's Free plan allows 10 branches per project. That's a better reviewer experience than ours, at the price of one more vendor and one more bill.

3. Netlify

Best for: apps whose backend fits in serverless functions.

Deploy previews and branch deploys use no credits on any plan, and functions bill only while they run. With Netlify Database, each deploy preview gets its own database branch with a copy of the production data, taken when the preview is first created. On paper this is the best preview in the table, for $0 in credits. Netlify doesn't publish a price for Netlify Database, so what the branches add is unknown.

It ranks third because the reference API is a container, and Netlify runs functions: 60 seconds for a normal request, up to 15 minutes in the background. If your API is an Express app you can split into functions, Netlify is the answer. A Django, Spring Boot or Go server that wants to stay a server has no home there. Copying production data into previews is also a decision your compliance person may want a say in.

4. Fly.io

Best for: teams who'll maintain their own preview workflow.

Fly's review apps guide uses a GitHub Action that deploys one app per pull request. Machines can stop when idle, and a stopped machine is billed only for its root file system at $0.15 per GB a month (pricing), so four idle previews with 1 GB images cost about $0.60, plus a few cents for the minutes they run when someone opens them.

The default workflow starts a single app with no database. Anything more, a Postgres per preview or several apps, means customizing the workflow yourself, and Fly has no billing alerts to warn you if a preview forgets to stop.

5. Railway

Best for: whole-app copies per pull request, extras included.

Railway creates an environment for each pull request and deletes it when the pull request is merged or closed. It deploys a mirror copy of your workloads and bills them as normal usage: RAM at $10 per GB a month and CPU at $20 per vCPU a month. A small API usually idles at about 250 MB and Postgres at about 200 MB, so a preview holds about 450 MB: $4.50 a month of RAM plus about $0.20 of CPU, about $19 for four. Your number will differ; Railway bills what the services actually use.

Sleep is opt-in. Turn on Serverless for the API and it stops 5 to 10 minutes after its last outbound traffic, which takes most of the API out of that figure. The database keeps running, so four previews come to about $8. In exchange you get the closest thing to a real copy of the app.

6. Heroku

Best for: teams already on Heroku Pipelines.

Review apps are charged exactly like normal apps, prorated to the second, and they can create their own Postgres from app.json. With a Basic dyno at $7 and Essential-0 Postgres at $5 (pricing), each open review app is $12 a month, so four add $48.

A Basic dyno never sleeps, which is why this is expensive for something people look at twice. Heroku moved to a sustaining engineering model on 2026-02-06, so don't expect this to change.

7. Render

Best for: full-stack previews with fresh services, datastores and a private network.

Render's preview environments copy your services and datastores, though not their data, for every pull request. They need the Pro workspace at $25 a month and are billed like normal services, prorated by the second. With a $7 web service and a $6 Postgres plus $0.30 for a gigabyte of storage, each preview is $13.30 a month (pricing). Four of them plus Pro: $78.20.

The free Hobby workspace gets single-service previews, one web service or static site per pull request, with no database. For a frontend that's enough, and free if the base is a free static site.

Where the others beat us

The database is where we lose. Netlify copies production data into every preview, Vercel with Neon gives each one a copy-on-write branch, and Railway and Render create a fresh database service per pull request. Ours shares production until you change a variable. If reviewers need realistic data without touching production, all four are better today; part 5 of the microservices series shows the workaround on our side: override the preview's variables.

Render and Railway also give services a private network, which we don't have: our services call each other over public HTTPS. And if your whole app is a Next.js frontend with API routes, Vercel is the natural home for it, and its previews cost about what ours do.

Where we're ahead is the plain container case. Your API is a server, maybe not in JavaScript, the team opens a few pull requests a week, and nobody wants to pay for copies that run all night. Here, four previews cost a quarter in build minutes, and the comparison with Render shows what the same app costs outside its previews.

How many previews does your team have open right now, and when did someone last open the oldest one?

More articles