TL;DR: Render's free tier gives you a web service for $0, but it spins down after 15 minutes without traffic and takes about a minute to wake on the next request (Render docs). Free Postgres expires after 30 days.
- Use the free tier for demos, portfolio projects and learning, where a one-minute wait for the first visitor is fine.
- Don't keep data on it: free Postgres stops working on day 30 and Render deletes it 14 days later unless you upgrade.
- Don't bother with a pinger: keeping one service awake uses about 744 of your 750 free hours a month.
- For one always-on app, pay Render $7: the 0.5c-512mb plan never sleeps.
- For two or more services, rent a server: an app, worker, Postgres and Redis cost $31.50 a month on Render and about $7 on a 4 GB server.
- Pick Ployz, which I build, if you want Render-style git-push deploys on that server, free.
A free tier spin-down means the platform stops your app's container when nobody uses it, then starts it again on the next request. You pay nothing while it sleeps, and your next visitor waits while it boots.
What's free on Render?
A Render Hobby workspace costs $0, and web services, Postgres, Key Value and static sites have free plans. Background workers, cron jobs and private services don't. Render's own docs say of the free plans: "Do not use them for production applications."
Everything that's free, from Render's free docs and pricing page:
| What | Free plan | The catch |
|---|---|---|
| Web service | 512 MB RAM, less than 1 CPU | Spins down after 15 minutes idle; about 1 minute to wake; single instance; no disk, no SSH; may be restarted at any time |
| Free instance hours | 750 per workspace a month | Shared by all free web services; run out and they're suspended until next month |
| Postgres | 256 MB RAM, 1 GB storage | One per workspace; expires after 30 days; deleted after a 14-day grace period; no backups |
| Key Value (Redis-compatible) | 25 MB RAM | One per workspace; in memory only, data lost on restart |
| Static site | Free | Counts against your bandwidth and build minutes |
| Bandwidth | 5 GB a month on Hobby | Then $0.15/GB, or suspension if you have no card on file |
| Build minutes | 500 a month on Hobby | Then $5 per 1,000, or builds stop if you have no card on file |
| Custom domains | 2 on Hobby | Then $0.25 per domain a month |
| Background workers, cron jobs, private services | No free plan | Paid from the first minute |
Free web services also can't receive private network traffic or send email over ports 25, 465 or 587. They lose any file written to local disk every time they spin down or redeploy (docs).
What would your app cost on Render without the spin-down?
Describe your app below. With "Always on" set to No, web services and Key Value use Render's free plans and sleep when idle. With Yes, everything runs on the cheapest paid plan. Postgres always counts as paid, because the free one is gone after 30 days. The server row picks a Hetzner box with at least as much RAM as Render would give you.
- Free hours to keep every web service awake (31-day month)
- 744 of 750
- RAM on Render's smallest paid plans
- 0.75 GB
- Server that fits
- Hetzner CX23
- Render Hobby workspace$15/mo
Web $7, worker $7, Postgres $6 + $0.30/GB, Key Value $10, bandwidth past 5 GB at $0.15/GB. Free plans where always-on is off; workers have no free plan.
- Your own server + Ployz$7/mo
Hetzner CX23 ($6.49) or CX33 ($9.99), about $0.60 IPv4. Ployz is free, custom domains included. 20 TB of traffic included in the EU.
At the defaults, one web service and a small database, Render costs about twice what the server does. Add a worker, Redis or a second service and the gap grows, because Render charges a plan per service and the server's price doesn't move.
How long does a Render cold start take?
Render says spin-up "takes about one minute," and it shows browsers a loading page meanwhile (Render docs). One write-up on DEV describes a Flask backend whose cold starts "can take anywhere from 30 to 60 seconds," and the author's own was "nearly a full minute" (DEV Community).
It's slow because a spun-down service has no running container. Render has to start one and boot your app before it can answer. Render built the free tier on Knative, a serverless layer for Kubernetes, so idle services cost it nothing (Render blog, 2021). A Rails or Django app that loads a lot of code at boot sits at the long end, and a small Go binary at the short end.
The wait hits the first request after 15 quiet minutes, so on a site with occasional visitors almost every visitor waits. It hurts most in three places:
- A frontend calling a free API. The user sees your page, then a spinner for a minute while the API wakes.
- Webhooks. Stripe, GitHub or a form service sends one event to a sleeping service. API clients get no loading page, so if the sender's timeout is shorter than your boot time, the delivery fails and you depend on its retries.
- Crawlers. While the service sleeps, Render answers
/robots.txtitself with "disallow all" (docs). A crawler that arrives at the wrong moment is told to stay away.
What happens to Render's free Postgres after 30 days?
It stops working. A free Render Postgres database expires 30 days after you create it. You then have a 14-day grace period to move it to a paid plan, from $6 a month, before Render deletes the database and its data. Render emails you before both deadlines.
The free database also has 1 GB of fixed storage, no connection pooling, no backups, and maintenance or restarts "at any time" (docs). So a free project with a database isn't free past the first month: it costs $6 plus $0.30 per GB of storage (pricing), or you lose the data.
If you're not upgrading, export it before day 30. The external connection string is on the database's page in the Render dashboard:
pg_dump "$DATABASE_URL" --format=custom --file=backup.dump
How many free hours do you get on Render?
Each workspace gets 750 free instance hours a month, shared by all free web services (docs). A service uses hours only while it's awake. A 31-day month has 744 hours, so one service awake all month fits and two don't. Run out and Render suspends every free web service until the 1st, and unused hours don't roll over.
Two other limits apply to free services:
- Bandwidth and build minutes. Free services share the workspace's 5 GB of bandwidth and 500 build minutes. With a card on file, overage is $0.15 per GB and $5 per 1,000 minutes. Without one, running out of bandwidth suspends free services for the rest of the month, and running out of build minutes stops new builds (docs, pricing). At 1 MB a page view, 5 GB is about 5,000 page views a month across the whole workspace.
- Outbound traffic. Render "may suspend a Free web service that initiates an uncommonly high volume of traffic" to the internet, like heavy calls to an external database or API. Moving it to a paid plan restores it.
Can you keep a Render free instance awake with a pinger?
Technically yes, because any request at least every 15 minutes resets the timer. The catch is the hours: a service that never sleeps uses about 744 of your 750 free hours, so only one service can do it.
| Workaround | How it works | Downside |
|---|---|---|
| Uptime monitor (UptimeRobot, cron-job.org) every 5–14 minutes | Inbound request resets the 15-minute timer | Uses nearly all 750 hours on one service; free Postgres still expires; Render can still restart it any time |
| Scheduled GitHub Actions workflow that curls the URL | Same, from your own repo | Same as above, plus another moving part to maintain |
Ping /robots.txt | Doesn't work | Render answers it while the service sleeps, so it never wakes (docs) |
| Put the frontend on a free static site | Static sites have no server to spin down | Only helps the frontend; the API behind it still sleeps |
| Accept the cold start, show a "waking up" message | No extra setup | Every first visitor waits about a minute |
Render's free docs don't mention pingers. Its acceptable use policy says you may not "attempt to bypass, circumvent, or defeat any access or usage restrictions," and whether a pinger counts is Render's call. Either way, a pinged service is a $7 plan rebuilt out of your whole free allowance plus an outside monitor. If a project needs to be awake all the time, it has outgrown the free tier.
What's the cheapest always-on setup on Render?
$7 a month for one web service on the 0.5c-512mb plan (formerly Starter), which never sleeps. The Hobby workspace stays $0 for one person.
Paid plans from render.com/pricing:
| Service | Cheapest paid plan | Specs | Price/month |
|---|---|---|---|
| Web service | 0.5c-512mb | 0.5 CPU, 512 MB | $7 |
| Background worker | 0.5c-512mb | 0.5 CPU, 512 MB | $7 |
| Postgres | 0.1c-256mb | Less than 1 CPU, 256 MB, 100 connections | $6 + $0.30/GB storage |
| Key Value | 256mb | 256 MB, 250 connections | $10 |
| Hobby workspace | 1 seat, 5 GB bandwidth, 500 build minutes | $0 |
Billing is prorated to the second, so upgrading for a week to demo something costs about a quarter of the monthly price (pricing FAQ).
Four always-on setups, all on Hobby with under 5 GB of bandwidth, against a 4 GB server:
| Setup | Render | Own server |
|---|---|---|
| One web service | $7 | $7.09 |
| Web + Postgres (5 GB) | $14.50 | $7.09 |
| Web + worker + Postgres (5 GB) + Redis | $31.50 | $7.09 |
| Frontend + API + worker + Postgres (10 GB) + Redis | $40 | $7.09 |
The server is a Hetzner CX23 with 4 GB of RAM at $6.49 plus about $0.60 for IPv4, in Germany or Finland (Hetzner price list). Custom domains are free on both. The biggest setup uses 2 GB of RAM on Render's plans, half the server.
For one small app, Render's $7 is a good deal and I'd take it. The full price list, including Pro and team plans, is in Render pricing.
Is your own server cheaper than Render's paid plans?
From two services up, yes. A 4 GB server runs the app, worker, Postgres and Redis that cost $31.50 on Render, and its price stays flat as you add services until the RAM runs out. Hetzner's CX23 also includes 20 TB of traffic against Render's 5 GB. For a single web service, Render at $7 is the same price and less work.
| Server | CPU | RAM | Disk | Price/month | Source |
|---|---|---|---|---|---|
| Netcup VPS 500 | 2 vCPU | 4 GB | 64 GB | €8.26 incl. VAT (12-month term) | netcup |
| Netcup VPS 1000 | 4 vCPU | 8 GB | 128 GB | €14.50 incl. VAT (12-month term) | netcup |
| Hetzner CX23 (Germany, Finland) | 2 vCPU | 4 GB | 40 GB | $6.49 + $0.60 IPv4, excl. VAT | Hetzner |
| Hetzner CX33 (Germany, Finland) | 4 vCPU | 8 GB | 80 GB | $9.99 + $0.60 IPv4, excl. VAT | Hetzner |
In the US, Netcup's Manassas datacenter costs about €1 more a month.
Nothing on a server spins down, because the process never stops and there's no hour budget to run out of. In exchange you take on three things:
- Backups. Render's paid Postgres comes with point-in-time recovery. On a server you need a nightly
pg_dumpto object storage and a restore you've tested. The Supabase pricing article walks through a setup. - Upkeep. OS updates, a disk filling up, the server going down at night.
- A ceiling. Render can scale a paid service up; a server is as big as the server.
For how Render's plans compare with Railway's usage billing, see Railway pricing. Is Vercel free? covers Vercel's version of the free-tier problem, and the PaaS pricing overview lists every fee these platforms add.
Which should you pick?
Pick Render's free tier if it's a demo, a portfolio project or something you're learning on, and a one-minute wait for the first visitor is fine. Keep no data you care about on it.
Pick Render's $7 plan if you have one web service, maybe a small database, and you don't want to think about servers. At $7 to $14.50 a month it's a fair price.
Pick your own server if you run two or more services, a worker or Redis, or serve more than a few GB a month. A $7 to $10 server runs what costs $30 to $40 on Render, and it never sleeps.
Where Ployz fits
I build Ployz to make that last option feel like Render. Point it at a server you rent and it gives you the same workflow: push to GitHub, it builds on your server and deploys the app to an HTTPS address, with no Dockerfile needed for Node, Python, Ruby, PHP, Go, Rust, Java or Elixir.
ployz up --server root@your-server
That installs Ployz over SSH, uploads the current directory, builds it and gives it an HTTPS address. Postgres and Redis are one click each. Every pull request can get its own preview environment on the same server, and with a health check set, deploys swap replicas without downtime. Nothing sleeps.
What it doesn't do: back up your databases. They're regular services with a volume, not managed databases, so schedule your own pg_dump until backups ship. Ployz is free on your own servers, custom domains included.
FAQ
Is Render free forever?
The Hobby workspace and the free web service have no end date. Free Postgres does: it expires 30 days after you create it and is deleted 14 days after that.
Does a paid Render plan spin down?
No. Every paid instance type, from the $7 0.5c-512mb plan up, stays running.
Why does my Render app take a minute to load?
It was asleep. Free web services spin down after 15 minutes without traffic, and the next request waits about a minute while Render starts the container and boots your app.
Do Render background workers have a free plan?
No. Background workers, cron jobs and private services are paid from the first minute; the cheapest worker is $7 a month.
Can I run a Render free service and a free database together?
Yes, one of each per workspace. The database still expires after 30 days, so for anything you keep past a month, budget at least $6 a month for Postgres.
How I checked
I checked Render's prices and limits on 1 October 2026 on render.com/pricing, Render's free instance docs and its acceptable use policy. Server prices come from Netcup's and Hetzner's own price pages. I haven't timed a free Render service myself; the wake-up times come from Render's docs and the DEV write-up linked above. I build Ployz, so weigh my server recommendation with that in mind.
Run your app on your own server with no spin-down, free: get started with Ployz.