Building an API on your own machine is only half the job — it's not really "done" until it's live at a real URL someone else can hit. The good news in 2026 is that deploying a Node.js app for free is genuinely easy, as long as you pick the right platform for what you're actually building. Here's how the three most common free options compare, and which one to use for the Node.js API from our earlier tutorial.
First, Understand What Each Platform Is Actually Built For
This is the single most important thing to get right before choosing: these three platforms solve different problems, and picking based on hype instead of fit is the most common mistake.
- Vercel was built by the creators of Next.js and is optimized for frontend frameworks and edge functions. It handles some backend logic, but it's not designed as a full backend host.
- Render is a genuine full-stack platform — web services, background workers, and databases, all without needing a credit card to start.
- Railway offers similarly broad capability to Render with excellent developer experience, but its free tier is limited to a small trial credit that covers only a few hours of runtime before you need to pay.
For a standalone Node.js/Express API like the one we built earlier, Render is the most practical free choice — no credit card required, and it's built specifically for exactly this kind of persistent backend service.
Step 1: Push Your Code to GitHub
All three platforms deploy directly from a Git repository. If your project isn't already on GitHub:
git init
git add .
git commit -m "Initial commit"
git branch -M main
git remote add origin https://github.com/yourusername/your-repo-name.git
git push -u origin main
Step 2: Prepare Your Project for Deployment
Make sure your package.json has a start script Render can run:
"scripts": {
"start": "node server.js"
}
Also make sure your server listens on the correct port using an environment variable, not a hardcoded number:
const PORT = process.env.PORT || 3000;
This matters because Render assigns its own port dynamically — hardcoding port 3000 will cause your deployed app to fail even though it works fine locally.
Step 3: Deploy on Render
- Sign up at render.com (no credit card required for the free tier)
- Click New + → Web Service
- Connect your GitHub account and select your repository
- Set the Build Command to
npm install - Set the Start Command to
npm start - Choose the Free instance type
- Click Create Web Service
Render will build and deploy automatically, giving you a live URL like your-app-name.onrender.com. Every future push to your GitHub main branch redeploys it automatically.
The One Real Downside of Render's Free Tier: Cold Starts
Free web services on Render sleep after periods of inactivity, and waking back up takes roughly 30–60 seconds on the next request. For a portfolio project or something you're testing, this is a non-issue. For anything client-facing where a first-time visitor might wait a full minute for a response, it's worth knowing about upfront — and worth upgrading to a paid tier once the project actually matters to real users.
When to Use Vercel or Railway Instead
- Use Vercel instead if your project is primarily a Next.js frontend with some lightweight API routes, not a standalone backend service.
- Use Railway instead if you want the smoothest possible developer experience and don't mind paying once your small trial credit runs out — often the choice for indie hackers moving quickly past the free tier.
Quick Comparison
| Platform | Credit Card Required? | Best For |
|---|---|---|
| Render | No | Standalone Node.js/Express APIs, full-stack apps |
| Vercel | Yes | Next.js frontends, edge functions |
| Railway | No (trial credit) | Fast iteration, willing to pay past trial |
Frequently Asked Questions
Will my app go offline if I don't upgrade from the free tier?
No, but it will "sleep" after inactivity and take up to a minute to wake up on the next request. It doesn't get deleted or permanently disabled.
Can I connect a database to my free Render web service?
Yes, Render offers a free PostgreSQL tier you can connect directly to your web service without any additional configuration.
Do I need a custom domain to deploy for free?
No, all three platforms give you a free subdomain (like yourapp.onrender.com) automatically. Custom domains can be added later, usually for free on the paid tiers.