Where to host a Node.js app
By Flavio Copes
Where to host a Node.js app in 2026: local tunnels, browser playgrounds, serverless functions, PaaS like Railway and Render, VPS providers, and bare metal.
Here are your options when you want to deploy a Node.js app and make it public, from the simplest and most constrained to the most powerful. I refreshed this list in September 2026.
One thing to watch when comparing hosts is bandwidth pricing. I built a free bandwidth calculator that estimates your monthly traffic and its cost on different providers.
- Simplest option ever: local tunnel
- Zero configuration playgrounds
- Serverless
- PaaS
- Virtual Private Server
- Bare metal
Simplest option ever: local tunnel
Even behind a NAT, you can serve requests right from your computer using a local tunnel. Good for quick tests and demos. Remember you are opening your machine to the public Internet.
The classic tool is ngrok. Run it with the port your app listens on:
ngrok http 3000
You get a public HTTPS URL that forwards to localhost:3000. The free account includes one static dev domain, so the URL survives restarts. Free-plan visitors click through a warning page first. Custom domains are paid.
Cloudflare Tunnel is my favorite alternative:
cloudflared tunnel --url http://localhost:3000
No account needed. You get a random trycloudflare.com URL that lives until you press Ctrl-C. Quick tunnels are capped at 200 in-flight requests and don’t support server-sent events. With a Cloudflare account you can create a named tunnel on your own domain.
localtunnel (npx localtunnel --port 3000) needs no account, but its community servers go down from time to time.
Zero configuration playgrounds
These run your Node.js code with no setup. Great for prototypes, not for production.
StackBlitz runs Node.js inside your browser tab, through WebContainers. Express, Fastify and Hono servers work, native modules do not.
CodeSandbox runs Node.js backends in small VMs that hibernate when idle. The free plan has a monthly budget of VM credits, check the pricing page.
Replit is the closest to real hosting. The free Starter plan lets you publish one app. It expires after 30 days (you can republish it), shows a “Made with Replit” badge, and has no custom domains.
Glitch was my favorite here, but it shut down app hosting in July 2025.
Serverless
With serverless you publish your app as functions. Each one answers on a network endpoint, and there is no server to manage or pay for when idle.
Vercel Functions run on the Node.js runtime by default. A file in the api/ folder becomes an endpoint. The Hobby plan is free within limits, and a function can run up to 5 minutes.
Netlify Functions work the same way: drop a file in netlify/functions/. The free plan is credit based, check the pricing page.
Cloudflare Workers run on Cloudflare’s own runtime, not Node.js, but with Node.js compatibility: node:crypto, node:stream, node:http and most npm packages work. It’s on by default for compatibility dates from August 4, 2026; older projects add the nodejs_compat flag. My free Cloudflare course goes deep.
AWS Lambda is where all this started. As of September 2026 it supports nodejs22.x and nodejs24.x, with Node.js 26 in public preview.
PaaS
PaaS stands for Platform as a Service. You point it at a Git repo, and it builds and runs a long-lived Node.js process for you.
Railway is the one I use most. Connect a GitHub repo, it detects Node.js and deploys. You pay for the CPU and memory you use on top of a small monthly plan. There is a limited free plan, check the pricing page.
Render has a free tier, with a catch: a free service spins down after 15 minutes without traffic and takes about a minute to wake up.
Fly.io runs your app in small VMs close to your users. No free tier for new accounts, you pay as you go. You deploy with the flyctl CLI.
Heroku is the original PaaS. It no longer has a free tier. The cheapest option is the Eco plan, $5 a month as of September 2026, with dynos that sleep after 30 minutes of inactivity.
DigitalOcean App Platform deploys Node.js from a Git repo. Its free tier covers static sites only, a Node.js web service needs a paid container.
Virtual Private Server
A VPS is an empty Linux machine with root access. You install everything yourself: Node.js, a reverse proxy, HTTPS, updates.
The providers I would look at: Hetzner, DigitalOcean, Linode (now Akamai Cloud), and Vultr. Hetzner is usually the cheapest for the same specs.
Don’t run node server.js in a terminal and walk away. Run it as a systemd service, so it restarts on crash and at boot, or in a Docker container. My free VPS course walks through the whole setup, from SSH to Nginx, HTTPS and systemd.
Bare metal
The last option is a physical server. Rent one monthly from Hetzner or hourly from Vultr Bare Metal, or expose a machine at home with Cloudflare Tunnel. Everything from the VPS section applies, plus you own the hardware problems.
Want me to talk about your product? You can sponsor this site.
Related posts about node: