How to Deploy Web Applications for Free on Vercel, Render, and Cloudflare in 2026

You can deploy a web app for free on Vercel, Render, and Cloudflare, but each “free” comes with a catch. Vercel’s free Hobby plan is for non-commercial use only. Render’s free web service goes to sleep after 15 minutes of no traffic, and its free database expires after 30 days. Cloudflare’s free tier is generous for static sites and small Workers, with a daily request cap. This guide explains what each free plan really includes, how to deploy on each, and what to use when you outgrow them. Every limit below comes from the platform’s own documentation and is accurate as of October 17, 2026.

Vercel Hobby

What You Get

Vercel’s documentation, updated September 14, 2026, lists the Hobby plan as free with included usage of 100GB of Fast Data Transfer, 1 million function invocations, 1 million CDN requests, 4 CPU-hours of active CPU, 360 GB-hours of memory, and 5,000 image transformations. It allows 200 projects and 100 deployments per day, with a function maximum duration of 300 seconds and 1 hour of runtime logs. If you exceed the limits, you wait 30 days.

The Non-Commercial Rule

The key restriction is that Hobby “restricts users to non-commercial, personal use only.” Vercel’s fair use guidelines define commercial use broadly: any deployment for the financial gain of anyone involved, including a paid employee or consultant writing the code. Examples include payment processing, ads such as AdSense, affiliate-first sites, and paid hosting work. Donations are not considered commercial. If you are building a client’s site or a product you will sell, you need a paid plan.

Another Limit

Vercel’s Git documentation says Hobby cannot deploy from private repositories owned by a GitHub organization, GitLab group, or Bitbucket workspace.

How to Deploy

From the dashboard, choose New Project and pick your repository. Select a framework preset, set the root directory and build output settings if needed, add environment variables, and click Deploy. Pushes to the production branch (main, or master if there is no main) create production deployments, while other branches get preview deployments.

Render Free

What You Get

Render’s free documentation says a free web service spins down after 15 minutes without inbound traffic and takes about a minute to spin back up. Each workspace gets 750 free instance hours per month. The filesystem is ephemeral, only one instance is allowed, SSH is unavailable, and outbound ports 25, 465, and 587 are blocked.

The Free Database Trap

Render’s free Postgres is limited to one per workspace with 1GB of storage. It expires 30 days after creation, after which there is a 14-day grace period before deletion, and there are no backups. A free Key Value store is in-memory only. This makes free Postgres suitable for testing, not for anything you want to keep.

How to Deploy

Choose New, then Web Service, connect your Git provider, and select the repository. Enter a name, region, branch, and language, then a build command, such as installing from a requirements file for Python, and a start command, such as gunicorn. Choose the free plan and add environment variables if needed. The app must bind to host 0.0.0.0 on the port given by the PORT variable, which defaults to 10000.

Cloudflare Workers and Pages

Workers Free

Cloudflare’s pricing page lists the free Workers plan at 100,000 requests per day and 10 milliseconds of CPU time per invocation. Static assets are free and unlimited. The paid plan starts at $5 a month with 10 million requests included.

Pages Limits

Cloudflare’s Pages limits for the free plan are 500 builds per month, one concurrent build, a 20-minute build timeout, 20,000 files per site, 25 MiB per file, 100 projects per account, and 100 custom domains per project.

Pages or Workers?

Cloudflare’s migration guide (updated October 12, 2026) does not say Pages is deprecated and does not explicitly recommend Workers. It does say that “Unlike Pages, Workers has a distinctly broader set of features” and that “Migrating from Cloudflare Pages to Cloudflare Workers is often a straightforward process.” According to the guide, only Workers has the Cloudflare Vite plugin, Cron Triggers, Workers Logs, and gradual deployments, while only Pages has Early Hints, Pages Plugins with file-based routing, and branch deploy controls. Workers Builds, the Git-based build service, offers 3,000 build minutes per month and one concurrent build on the free plan, with support for GitHub and GitLab.

How to Deploy to Pages From Git

Go to Workers and Pages, choose Create application, then Pages, then Connect to Git and choose GitHub. Select your repository and set the production branch, build command, output directory, and root directory, or choose a preset. Add environment variables and click Save and Deploy. Cloudflare notes that Git-connected projects cannot later switch to Direct Upload.

Other Free Options

Netlify

Netlify’s pricing page lists a free plan at “$0 forever” with a 300-credit monthly limit shared across bandwidth, production deploys, compute, and requests. Bandwidth costs 20 credits per GB, a production deploy 15 credits, requests 2 credits per 10,000, and compute 10 credits per GB-hour. It allows one concurrent build and enforces hard monthly limits with no overage charges.

GitHub Pages

GitHub’s documentation sets soft limits of a 1GB site, 100GB of bandwidth per month, and 10 builds per hour. It says Pages is not meant for online businesses, e-commerce, or SaaS.

Railway

Railway’s docs describe a trial of up to 30 days with a one-time $5 grant, then a free plan with $1 of credit per month. Trial limits include 1GB of RAM and 5 services per project.

Fly.io and Heroku

Fly.io’s pricing page says there is no free tier for new organizations. New accounts get a trial of up to 2 hours of machine runtime or 7 days, and legacy plans discontinued in October 2024 keep their allowances. Heroku’s pricing page lists no free tier, with the cheapest Eco dyno at $5 a month that sleeps after 30 minutes of inactivity. Only part of that page was reviewed.

Which Platform for Which Project

A Portfolio or Static Site

Cloudflare Pages or Workers with static assets, Netlify, or GitHub Pages. Static assets are free and unlimited on Cloudflare.

A Next.js Hobby Project

Vercel Hobby, as long as the project is non-commercial.

A Small Backend API That Can Sleep

Render’s free web service, accepting a cold start of about a minute.

A Project That Needs a Database

Free databases come with limits on every platform. Render’s expires after 30 days. Check a dedicated free database provider for longer-lived options.

A Paid Product

Move to a paid plan from day one on Vercel, and plan a cost model on the others.

Mistakes to Avoid

Do not commit secrets to your repository. Put them in environment variables. Do not assume a free service stays free, since pricing has changed on most of these platforms. Do not put customer data on a database that expires. Set up a custom domain only after confirming limits, and keep a record of when each free resource was created.

A Simple Deployment Checklist

  1. Push your project to a Git repository.
  2. Check the platform’s license terms for commercial use.
  3. Connect the repository and set the build and start commands.
  4. Add environment variables.
  5. Deploy and test the live URL.
  6. Note the limits and expiry dates in a README.
  7. Set a reminder to review the plan before it expires.

How to Avoid Surprises on Free Plans

Free plans change without much warning, so build habits that protect you. Record the date you created each resource and the limit that applies to it. Keep your code portable: use environment variables for configuration, keep a Dockerfile or a clear build command, and avoid features unique to one platform unless you need them. Keep database exports somewhere you control. Check the pricing page each quarter, because the platforms covered here have all changed terms in recent years, as the Fly.io and Heroku entries show.

Cold Starts, Sleeping, and What Users Notice

A sleeping service means the first visitor after a quiet period waits. Render’s documentation puts the spin-up at about a minute after 15 minutes without traffic. For a portfolio, that first-visit delay may hurt a recruiter’s impression. Options include serving the front end statically on a platform where static assets are free and unlimited, and keeping only the API on a sleeping service, or accepting a paid instance for the API. The sources reviewed do not endorse scheduled pings to keep a free service awake, so check each provider’s terms before trying that.

Matching the Platform to the Framework

Vercel’s documentation centers on framework presets, which makes it convenient for front-end frameworks. Render’s guide for web services is language-neutral and expects a build command and a start command, which suits Python, Node, and other server apps. Cloudflare’s Workers are a different runtime model, with a 10-millisecond CPU limit per invocation on the free plan, so heavy server-side work may not fit. Choose by what your app does, not only by price.

Walkthrough: A Static Site on Cloudflare

For a static site, the Cloudflare route is simple. Push your project to GitHub, open Workers and Pages, connect the repository, and set the build command and output directory. Because static assets on Workers are free and unlimited, traffic spikes to a portfolio do not cost anything, though the 100,000 requests per day cap applies to Worker invocations. If you later add server logic, you can move to Workers with the migration guide that Cloudflare publishes.

Walkthrough: A Python API on Render

For a small Python API, choose New, then Web Service, connect your repository, and set a build command that installs from your requirements file and a start command such as gunicorn. Make sure the server listens on 0.0.0.0 and the PORT environment variable. Expect the first request after idle time to be slow. If you add a free Postgres database, remember the 30-day expiry and plan an export before it arrives.

Walkthrough: A Next.js Project on Vercel

For a front-end project on Vercel, import the repository, accept the detected framework preset, add environment variables, and deploy. Preview deployments for non-production branches let you test changes before merging. If the project begins to earn money, move to a paid plan, since Hobby is non-commercial only under Vercel’s fair use guidelines.

Frequently Asked Questions

Is Vercel really free?

The Hobby plan is free, but only for non-commercial, personal use according to Vercel’s documentation.

Why is my Render app slow on the first visit?

Free web services spin down after 15 minutes without traffic and take about a minute to restart.

Is Cloudflare Pages being shut down?

Cloudflare’s migration guide does not say so. It says Workers has a broader set of features.

Which is the best free hosting for a static site?

Cloudflare, Netlify, and GitHub Pages all work. Cloudflare lists static assets as free and unlimited.

Does Heroku have a free tier?

Not on its pricing page. The cheapest dyno listed is $5 a month.

References and Sources

Vercel Docs, “Vercel Hobby Plan”: https://vercel.com/docs/plans/hobby

Vercel Docs, “Fair Use Guidelines”: https://vercel.com/docs/limits/fair-use-guidelines

Vercel Docs, “Deploying Git Repositories with Vercel”: https://vercel.com/docs/git

Render Docs, “Free”: https://render.com/docs/free

Render Docs, “Web Services”: https://render.com/docs/web-services

Cloudflare Docs, “Workers Pricing”: https://developers.cloudflare.com/workers/platform/pricing/

Cloudflare Docs, “Pages Limits”: https://developers.cloudflare.com/pages/platform/limits/

Cloudflare Docs, “Migrate from Pages to Workers”: https://developers.cloudflare.com/workers/static-assets/migration-guides/migrate-from-pages/

Cloudflare Docs, “Workers Builds limits and pricing”: https://developers.cloudflare.com/workers/ci-cd/builds/limits-and-pricing/

Cloudflare Docs, “Pages Git integration”: https://developers.cloudflare.com/pages/get-started/git-integration/

Netlify, “Pricing”: https://www.netlify.com/pricing/

GitHub Docs, “GitHub Pages limits”: https://docs.github.com/en/pages/getting-started-with-github-pages/github-pages-limits

Railway Docs, “Free Trial”: https://docs.railway.com/reference/pricing/free-trial

Fly.io Docs, “Pricing”: https://docs.fly.io/about/pricing

Heroku, “Pricing”: https://www.heroku.com/pricing/

About The Author

Written By

I write about AI, Web3, Crypto, Fintech, and the technologies shaping the digital economy. Connect with me on LinkedIn: https://www.linkedin.com/in/kenneth-onyebuchi-3b4634228

More From Author

Leave a Reply

You May Also Like

Tailwind CSS v4 in 2026: What Is New Since 4.0 and How to Migrate

Tailwind CSS v4 in 2026: What Is New Since 4.0 and How to Migrate

Tailwind CSS v4 changed how the framework is configured and built, and the line has…

Python vs Rust for High-Performance Backend Architecture in 2026

Python vs Rust for High-Performance Backend Architecture in 2026

For most backend services, Python is the faster way to ship and Rust is the…

How to Cast Your Phone Screen to a TV Without Wi-Fi

How to Cast Your Phone Screen to a TV Without Wi-Fi

The most reliable way to put your phone on a TV without Wi-Fi is a…