Render

Free static sites and a free (sleepy) web service tier.

Free tier App platform (static, web services, Postgres)

Free tier

Hobby workspace $0: free static sites + free 512 MB web service that sleeps after 15 min idle

  • Static sites are free; Hobby workspace includes 5 GB bandwidth/month (then $0.15/GB) and 500 build minutes
  • Free web service: 512 MB RAM, spins down after 15 minutes without traffic, ~1 minute to wake up
  • 750 free instance hours per workspace per month
  • Free Postgres: 1 GB, expires 30 days after creation (14-day grace period to upgrade)

Paid

$7/mo: Paid compute from $7/month (0.5 CPU, 512 MB). Pro workspace: $25/month + compute

Catches

  • Free web services sleep — the first visitor after a quiet period waits about a minute.
  • Free Postgres is deleted after the 30-day expiry + 14-day grace period unless you upgrade.

Deploying to Render

Connect
Render Dashboard → New → Static Site (or Web Service for a server), connect GitHub, pick the repository.
Build
Vite static site: build command npm run build, publish directory dist.
Env vars
Service → Environment
Domain
Service → Settings → Custom Domains → Add. Hobby includes 2 custom domains (then $0.25/domain/month).

Single-page app fallback

Dashboard → Redirects/Rewrites (or render.yaml)
# Dashboard rule: Source /*  Destination /index.html  Action Rewrite
routes:
  - type: rewrite
    source: /*
    destination: /index.html

Official docs (opens in a new tab)

Guides for Render