Best Node.js Hosting in 2026: The PaaS Crossover Is About RAM, Not Requests

Axel Grubba, August 25, 2026
Start selling digital products with Crevio
Crevio E-Commerce Platforms logo
Crevio
Sponsored
5.0
(1)
Free plan available
Crevio is an AI-powered platform that runs your business while you sleep. Describe what you want to se... Learn more about Crevio
Get an AI summary of this post on:

Almost every Node hosting comparison prices “traffic”. That’s the wrong variable.

Railway — the reference PaaS for Node — publishes per-second resource rates, read live on 18 August 2026:

  • RAM: $0.00000386 per GB per second
  • CPU: $0.00000772 per vCPU per second
  • Volumes: $0.00000006 per GB per second

Multiply by a 30-day month and it becomes legible:

Resource, held continuously Monthly cost
1 GB RAM $10.01
1 vCPU $20.01

You’re billed for occupancy, not for requests. A service that sits idle holding memory costs almost exactly what a busy one holding the same memory costs.

What a Node app actually occupies

We built a stock Express app on Node 22, ran it in Docker and measured it:

State Memory
Idle 18.53 MB
After 200 requests 25.05 MB
After 50 concurrent requests 25.71 MB

About 25MB, and concurrency barely moved it. That makes Node the lightest of the three stacks we’ve measured — against Laravel at 89.7MB with a queue worker and Django at 128MB with four workers.

So what does that Express app cost on Railway? 0.026 GB × $10.01 = about 26 cents a month in RAM.

This is why PaaS is genuinely excellent for small Node services — and why “it got expensive” stories always come from somewhere else.

The crossover, calculated

Here’s what an always-on service costs on Railway as it grows:

RAM held Avg vCPU RAM cost CPU cost Total
50 MB 0.02 $0.50 $0.40 $0.90
250 MB 0.05 $2.50 $1.00 $3.50
500 MB 0.10 $5.00 $2.00 $7.00
1 GB 0.25 $10.01 $5.00 $15.01
2 GB 0.50 $20.01 $10.01 $30.02
4 GB 1.00 $40.02 $20.01 $60.03

Now set that against flat VPS pricing:

Compared to Break-even (no CPU) At 0.1 vCPU At 0.25 vCPU
Hostinger 4GB, $11.99 1.20 GB 1.00 GB 0.70 GB
DigitalOcean 4GB, $24.00 2.40 GB 2.20 GB 1.90 GB

Read the Hostinger row. Once your Node service holds about a gigabyte and does modest CPU work, Railway costs more than a 4GB VPS — and you’re only using a quarter of that VPS. Past that point the gap widens linearly and never comes back.

The honest summary:

  • Under ~500MB resident: PaaS is cheaper and easier. Not a close call.
  • Around 1GB with real CPU: roughly level; pick on convenience.
  • Above that: the VPS wins by a widening margin.

Note what isn’t in this calculation: requests. This article’s brief asked for cost at 100k and 1M requests per month. That framing doesn’t map onto how Railway bills — a million cheap requests spread over a month may cost less than a hundred thousand expensive ones, because what’s metered is the memory you hold and the CPU-seconds you burn. Model your resident footprint and average CPU instead. Egress is billed separately at $0.05 per GB, so factor that if you serve large payloads.

Railway’s plan floors

Worth knowing before you model anything:

  • Hobby: $5/month minimum, including $5 of monthly usage credits — so light usage is effectively covered by the minimum. Up to 48 vCPU / 48 GB RAM per service, up to 5 replicas.
  • Pro: $20/month minimum, including $20 of usage credits. Up to 1,000 vCPU / 1 TB RAM per service, up to 42 replicas.

For our 26-cent Express app, the $5 Hobby minimum is the real price — the credits swallow the usage entirely. That’s still cheaper than any VPS, and it’s the strongest argument for PaaS at the small end.

What you give up on a VPS

PM2 and a reverse proxy become yours. A Node process needs something to restart it on crash and on reboot — pm2 or a systemd unit — and something to terminate TLS in front of it. That’s an evening once, then occasional maintenance.

Deploys become yours. Push-to-deploy is the thing PaaS genuinely sells, and rebuilding it with a git hook or a CI pipeline is real work.

WebSockets work fine on both — a Node process holding socket connections is exactly the residency model Railway bills for, so long-lived connections are a case where PaaS costs are predictable but not cheap.

And cold starts: a VPS has none, because the process never stops. Platforms that idle containers to save resources introduce them; that’s a per-platform behaviour to check rather than a category rule.

The hosts

Railwaythe clearest pricing in the category and the reason this article could be written: published per-second rates you can model against. The right answer below roughly 1GB resident, where the $5 Hobby minimum beats any VPS and deploys are free. Watch the crossover above as your service grows.

Cloudways — from $11 for 2GB billed monthly, managed servers on DigitalOcean or AWS. A middle path if you want a real server without administering it — but note its published support excludes debugging custom code, which on a Node app is your entire application.

DigitalOcean$24 for 4GB, per-second billing since January 2026, best documentation in the category and the most granular status reporting here. The default if you want a real server and predictable APIs.

Hostinger$11.99 renewal for 4GB, $14.99 for 8GB, root access and one-click templates. The break-even point in the table above, and the cheapest way to own the whole box. Refund terms cover renewals.

Hosting.com (formerly A2 Hosting) — long-standing Node support on its VPS tiers. Confirm root access and persistent-process support rather than a shared plan that merely has Node installed — we have not verified its current offering.

Hetznerthe most RAM per euro anywhere here, which is the whole argument once you’re past the crossover. You build and maintain everything. Note availability limits since June and backups that exclude attached Volumes.

Kinsta — offers application hosting alongside its managed WordPress product, positioned at the premium managed end. We have not verified its Node pricing, resource model or limits, so treat it as a name to evaluate against the maths above rather than a recommendation we’ve evidenced.

What we’d do

Start on Railway. At 26 cents of usage inside a $5 minimum, the argument for administering a server yourself is weak.

Model the crossover before you scale, not after the invoice. The number to watch is resident memory, and you can read it from your own dashboard.

Move to a VPS when you cross ~1GB with real CPU — and buy 4GB, because at that point you’re getting four times the headroom for less than the platform was charging.

How we checked this

Railway’s rates were read live from railway.com/pricing on 18 August 2026: $0.00000386 per GB-second for RAM, $0.00000772 per vCPU-second for CPU, $0.00000006 per GB-second for volumes, and $0.05 for egress. The Hobby and Pro plan minimums, their included credits and their per-service ceilings are from the same page. The monthly figures — $10.01 per GB and $20.01 per vCPU — are our arithmetic, multiplying those rates by 2,592,000 seconds for a 30-day month. A 31-day month is about 3% higher.

The memory figures are ours, measured the same day. We built a container with Node 22 and a minimal Express app returning JSON, then read docker stats at idle, after 200 sequential requests and after 50 concurrent ones.

That’s a trivial app and you should read the number as a floor. A real service loads dependencies, holds connection pools, caches and buffers — it will occupy considerably more than 25MB. What the measurement establishes is that Node’s baseline is small and that concurrency alone didn’t move it much on a trivial handler. Model your own app’s resident memory from your own metrics; that figure is the input to every calculation in this article.

The break-even table is arithmetic on our own numbers, comparing Railway’s rates against VPS prices established across this series. It assumes a single always-on service and ignores egress, volumes, databases and replicas — all of which push the PaaS side up. It’s a floor for the PaaS cost, not a full bill.

The brief asked for something we did not do. It specified deploying the same Express and Postgres application to each option and measuring time-to-first-deploy, cold-start behaviour, WebSocket support and cost at 100k and 1M requests per month. We deployed to none of them — we hold no accounts at these seven providers — so there are no deploy times, no cold-start measurements and no per-request costs here. The request-based framing is also one we’d push back on, for the reason given above: Railway meters residency, not requests.

On the other hosts: Cloudways’ support exclusions and DigitalOcean’s per-second billing were verified earlier in this series. We have not verified Hosting.com’s or Kinsta’s current Node offerings at all. Only Railway’s pricing was read today.

What we did not do: deploy anything to a hosting provider, run Postgres, open a WebSocket, measure a cold start, or hold an account anywhere.

The host links above are affiliate links. The article’s recommendation for most readers — stay on the $5 platform tier rather than buying a server — is the cheapest option on the page.

FAQ

What’s the best hosting for Node.js?

Below roughly 1GB of resident memory, a PaaS like Railway at $5/month is cheaper and easier. Above that, a flat VPS wins and the gap widens.

How much does Railway cost for a Node app?

It bills per second: $0.00000386 per GB of RAM and $0.00000772 per vCPU, which is $10.01 and $20.01 respectively for a month held continuously. Hobby has a $5 minimum that includes $5 of credits.

How much RAM does a Node.js app need?

We measured a minimal Express app at 18.5MB idle and about 25MB under load. Real applications use materially more, but the baseline is small — smaller than Laravel or Django.

When does a PaaS become more expensive than a VPS?

Around 1GB of resident memory with modest CPU, against a $11.99 4GB VPS. Against a $24 4GB droplet it’s nearer 2GB.

Does traffic volume determine my PaaS bill?

Not directly. Railway meters memory held and CPU-seconds burned, plus egress at $0.05/GB — so a million cheap requests can cost less than far fewer expensive ones.

Do I need PM2 on a VPS?

Something has to restart your process on crash and reboot — PM2 or a systemd unit — plus a reverse proxy for TLS. That’s the work a PaaS is doing for you.

Are WebSockets a problem?

Not technically, but they’re the clearest case of paying for residency: a process holding connections occupies memory continuously, which is exactly what per-second billing charges for.

Founder & Software Review Editor
Axel Grubba is the founder of Findstack, a B2B software comparison platform, with his background spanning management consulting and venture capital where he invested in software. Recently, Axel has developed a passion for coding and enjoys traveling when he is not building and improving Findstack.
Business Software Reviews SaaS Product Evaluation CRM Software
Subscribe, get software deals straight to your inbox.
Join 7,400+ other entrepreneurs staying up-to-date on all the latest deals.
Zero spam. Unsubscribe at any time.