Best Node.js hosting
8 providers on this site publish their own Node.js documentation. Every row below links to the guide it came from.
JavaScript runtime used to run servers and build tooling outside the browser.
Where you can deploy it.
Ordered by how the provider documents it — a dedicated guide first, a generic path second. There is no score: the ordering is the evidence.
| Provider | Category | Documented fit for Node.js | Entry paid plan | Free tier |
|---|---|---|---|---|
| AWS Amplify | Frontend & serverless | Generic path | No monthly minimum — Amplify Hosting is billed per unit. A representative month for one small app, priced at Amplify's published rates: 100 build minutes ($1.00), 5 GB stored ($0.11), 100 GB served ($15.00), with SSR requests inside the free 500,000 — about $16.11. Our arithmetic on Amplify's rates, not a price Amplify quotes, and it moves with traffic: egress is 93% of it. Recorded without a magnitude for that reason. | No |
| Fly.io | App platforms | Dedicated guide | Not documented | No |
| Google Cloud Run | App platforms | Dedicated guide | No plan fee and no minimum commitment. Cloud Run bills per vCPU-second, GiB-second and request once the monthly free allowance is used, so there is no entry price to compare, only a rate card. Recorded without a magnitude for that reason. | Yes |
| Heroku | App platforms | Dedicated guide | $5 per month (Eco dynos plan, 1000 dyno hours shared across the account) | Not documented |
| Netlify | Frontend & serverless | Generic path | $9/month for 1,000 credits/month | Yes |
| Railway | App platforms | Dedicated guide | $5 / month (Hobby) | Yes |
| Render | App platforms | Dedicated guide | Not documented | Yes |
| Vercel | Frontend & serverless | Generic path | $20 per developer seat / month (Pro) | Yes |
What actually works.
Every platform here claims Node.js support, so the claim on its own says little. These are the capabilities each provider documents, and the constraints it documents alongside them.
| Fly.io | Google Cloud Run | Heroku | Railway | Render | Netlify | Vercel | |
|---|---|---|---|---|---|---|---|
| background_workers | Supported | Supported | Supported | Supported | Supported | Limited | Limited |
| ssh_shell_access | Supported | Not documented | Supported | Supported | Supported | Not documented | Not documented |
| websockets | Not documented | Supported | Supported | Supported | Supported | Not documented | Limited |
| configurable_request_timeout | Not documented | Supported | Not supported | Not documented | Not documented | Not documented | Supported |
The detail.
Runs Docker images as lightweight VMs in chosen regions, billed on provisioned resources rather than plan tiers.
- background_workers: Supported
- ssh_shell_access: Supported
Sources (3) →Sources ↓
- JavaScript on Fly.io · Fly Docs ↗
“The Basics covers everything you need to set up, run, and manage production Node.js apps on Fly.”
Read 2026-09-05 · official docs
- Deferring long-running tasks to a distributed work queue · Fly Docs ↗
“Instead, you should offload that work to a background worker. [...] BullMQ is a Redis-backed queue system for Node.js apps.”
Read 2026-09-13 · official docs
- fly ssh · Fly Docs ↗
“Use SSH to log into or run commands on Machines [...] Connect to a running instance of the current app.”
Read 2026-09-13 · official docs
Google Cloud service that runs container images as request-driven services, scaling instances automatically and down to zero between requests.
- websockets: Supported
- configurable_request_timeout: Supported
- background_workers: Supported
Sources (4) →Sources ↓
- Deploy services from source code — Cloud Run — Google Cloud Documentation ↗
“In addition to sources with a Dockerfile, deploying from source supports the following languages using Google Cloud's buildpacks: Runtime Source deployment Configuration Go Deploy a Go service Configure Go buildpacks Node.js Deploy a Node.js service Configure Node.js buildpacks Python Deploy a Python service Configure Python buildpacks Java (includes Kotlin, Groovy, Scala) Deploy a Java service Configure Java buildpacks [...] PHP Deploy a PHP service Configure PHP buildpacks”
Read 2026-09-09 · official docs
- Using WebSockets | Cloud Run | Google Cloud Documentation ↗
“WebSockets applications are supported on Cloud Run with no additional configuration required. [...] Increase the request timeout period to the maximum duration you would like to keep the WebSockets stream open, for example 60 minutes.”
Read 2026-09-13 · official docs
- Configure request timeout for services | Cloud Run | Google Cloud Documentation ↗
“The timeout is set by default to 5 minutes (300 seconds) and can be extended up to 60 minutes (3600 seconds). [...] You can change this setting when you deploy a container image or by updating the service configuration.”
Read 2026-09-13 · official docs
- Deploy worker pools to Cloud Run | Google Cloud Documentation ↗
“Worker pools are a Cloud Run resource specifically designed for performing continuous background work. In contrast to Cloud Run services, worker pools do not have a load balanced endpoint/URL and do not support autoscaling.”
Read 2026-09-13 · official docs
Managed application platform that runs apps in containers called dynos, deployed from Git or Docker images, with add-on services such as Heroku Postgres.
- websockets: Supported
- background_workers: Supported
- configurable_request_timeout: Not supported
- ssh_shell_access: Supported
Sources (5) →Sources ↓
- Deploying Node.js Apps on Heroku | Heroku Dev Center ↗
“This article describes how to take an existing Node.js app and deploy it to Heroku.”
Read 2026-09-05 · official docs
- Using WebSockets on Heroku with Node.js | Heroku Dev Center ↗
“When developing real-time Node.js applications, you can use WebSockets directly. You can also use an abstraction library like Socket.io, which provides fallbacks for clients that don't support the WebSocket protocol.”
Read 2026-09-13 · official docs
- Worker Dynos, Background Jobs and Queueing | Heroku Dev Center ↗
“Heroku allows you to specify an application-specific process model, which can include background workers retrieving and processing jobs from the work queue. [...] You can then scale the number of web dynos independently of the number of worker dynos. [...] Background Jobs in Node.js with Redis”
Read 2026-09-13 · official docs
- Request Timeout | Heroku Dev Center ↗
“The timeout value is not configurable. If your server requires longer than 30 seconds to complete a given request, we recommend moving that work to a background task or worker to periodically ping your server to see if the processing request has been finished.”
Read 2026-09-13 · official docs
- Heroku Exec (SSH Tunneling) | Heroku Dev Center ↗
“Heroku Exec is a feature for creating secure TCP and SSH tunnels into a dyno. It supports SSH sessions, port forwarding, remote debugging, and inspection with popular Java diagnostic tools.”
Read 2026-09-13 · official docs
Application platform that builds services from a repository or Dockerfile and bills plan fees that include usage credits.
- websockets: Supported
- background_workers: Supported
- ssh_shell_access: Supported
Sources (4) →Sources ↓
- Deploy Node.js & Express API with Autoscaling, Secrets, and Zero Downtime | Railway Guides ↗
“In this guide, you'll learn how to deploy a Node.js and Express.js API to production using Railway.”
Read 2026-09-05 · official docs
- Specs & Limits | Railway Docs ↗
“Support for websockets over HTTP/1.1. [...] Websocket connections are exempt from these duration and inactivity limits, and can stay open indefinitely, even while idle.”
Read 2026-09-13 · official docs
- Choose Between Cron Jobs, Background Workers, and Queues | Railway Guides ↗
“A background worker is an always-on service that processes work continuously. Unlike a cron job, it does not exit after completing a task. [...] On Railway, deploy a worker as a separate service in the same project as your API.”
Read 2026-09-13 · official docs
- railway ssh | Railway Docs ↗
“Open an interactive shell session inside a deployed Railway service container, or manage the SSH keys registered with your Railway account.”
Read 2026-09-13 · official docs
Managed cloud platform that builds and runs web services, background workers, static sites and databases from Git repositories or Docker images.
- websockets: Supported
- background_workers: Supported
- ssh_shell_access: Supported
Sources (4) →Sources ↓
- Deploy a Node Express App on Render – Render Docs ↗
“You can deploy a Node.js Express application on Render in just a few clicks.”
Read 2026-09-05 · official docs
- WebSockets on Render – Render Docs ↗
“Render web services can accept inbound WebSocket connections from the public internet. [...] In your web service code, you usually extend your existing HTTP server framework with WebSocket support. [...] This example uses Express along with the ws module”
Read 2026-09-13 · official docs
- Background Workers – Render Docs ↗
“Background workers are services that run continuously [...] Background workers help to keep your apps responsive by offloading long-running, asynchronous tasks from your services in the critical request path.”
Read 2026-09-13 · official docs
- SSH and Shell Access – Render Docs ↗
“You can initiate a shell session to your Render service from its Shell page in the Render Dashboard [...] You can also SSH into your services from the terminal after completing setup.”
Read 2026-09-13 · official docs
AWS service for hosting full-stack web applications with a Git-based continuous deployment workflow, server-side rendering support, and delivery via the AWS content delivery network.
Sources (1) →Sources ↓
- Deploying an Express server using the deployment manifest - AWS Amplify Hosting ↗
“This example explains how to deploy a basic Express server using the Amplify Hosting deployment specification. Limited: Node.js is covered only as a worked Express example of the generic deployment-manifest path, not as a first-class Node.js hosting guide.”
Read 2026-09-05 · official docs
Platform for building and deploying web projects from Git to a global CDN, with serverless and edge functions.
- background_workers: Limited
Sources (2) →Sources ↓
- Express on Netlify | Netlify Docs ↗
“Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications. Limited: Node.js is documented only through this Express framework guide — there is no general Node.js server deployment guide in the framework setup guides index.”
Read 2026-09-05 · official docs
- Background Functions overview | Netlify Docs ↗
“Background Functions provide an option for serverless functions that run for up to 15 minutes and don't need to complete before a visitor can take next steps on your site. [...] Background functions are longer-running functions that are processed as background tasks using asynchronous invocation.”
Read 2026-09-13 · official docs
Frontend cloud platform for modern web applications, with Git-driven deployments and a framework-aware CDN.
- websockets: Limited
- configurable_request_timeout: Supported
- background_workers: Limited
Sources (4) →Sources ↓
- Using the Node.js Runtime with Vercel Functions ↗
“Use the Node.js runtime to deploy Node.js HTTP servers or Vercel Functions written in JavaScript or TypeScript. Limited: documented only via the generic Node.js function runtime reference — Vercel publishes no dedicated Node.js app deployment guide (only per-framework guides such as Express).”
Read 2026-09-05 · official docs
- WebSockets ↗
“WebSockets are available in Beta on all plans [...] WebSockets in Vercel Functions work exactly like any distributed WebSocket server, so you can use libraries like ws to upgrade connections with no additional configuration [...] WebSocket connections close when a Vercel Function reaches its maximum duration”
Read 2026-09-13 · official docs
- Configuring Maximum Duration for Vercel Functions ↗
“The maximum duration configuration determines the longest time that a function can run. You can configure the maximum duration for Vercel Functions. [...] Pro and Enterprise teams can set individual Vercel Functions using supported Node.js, Bun, and Python runtime versions to run for up to 30 minutes.”
Read 2026-09-13 · official docs
- Vercel Queues ↗
“Send messages for agent events and background work to durable topics, then process them with independent consumers, automatic retries, and at-least-once delivery. [...] Push and poll modes: Process on Vercel with push callbacks or run your own workers.”
Read 2026-09-13 · official docs

Comments are hosted by EchoThread, which sets cookies and offers social sign-in. Like the analytics on this site, it does not load until you accept — see the privacy page.