Quick Answer: Cloudflare Pages is the best free hosting for static sites -- unlimited bandwidth, unlimited requests, and a global CDN at zero cost. For Next.js and React apps, Vercel offers the best developer experience with generous free serverless functions. For full-stack apps with a backend, Railway gives you $5/month in free credits that covers most side projects.


Free Tier Comparison

PlatformStatic SitesServerlessContainersBandwidthBuildsCustom Domain
Cloudflare PagesUnlimitedWorkers (100K req/day)NoUnlimited500/moYes
VercelUnlimitedYes (100GB-hrs)No100GB6,000 min/moYes
NetlifyUnlimitedYes (125K req/mo)No100GB300 min/moYes
RailwayYesNoYesPer usageUnlimitedYes
RenderUnlimitedNoYes (750 hrs)100GB500 min/moYes
Fly.ioVia containerNo3 shared VMs100GBN/AYes
GitHub PagesUnlimitedNoNo100GB10/hrYes

1. Cloudflare Pages -- Best Free Static Hosting

Cloudflare Pages is the most generous free hosting tier available in 2026. Unlimited bandwidth, unlimited requests, 500 builds per month, and deployment to Cloudflare's global CDN with 300+ edge locations. There is no catch -- the free tier is genuinely unlimited for static sites because serving cached static files from the edge costs Cloudflare almost nothing, and they make their money from other services.

Why Cloudflare Pages Wins on Free Tier

Every other platform has a bandwidth cap on their free tier (typically 100GB/month). Cloudflare Pages does not. If your static site gets featured on Hacker News and receives 500,000 visitors in a day, Cloudflare serves every request without throttling, charging, or sending you a surprise invoice. This peace of mind is why Cloudflare Pages is the default recommendation for any static site where you do not want to think about hosting costs ever.

Cloudflare Workers Integration

Cloudflare Pages is not limited to static files. Cloudflare Workers -- serverless functions that run at the edge -- integrate directly with Pages. The free tier includes 100,000 Worker requests per day, which covers most side projects. Workers support JavaScript, TypeScript, Rust, C, and C++ compiled to WebAssembly. You can build API routes, handle form submissions, implement authentication, and add dynamic functionality without a separate backend.

The Workers model is different from traditional serverless (AWS Lambda, Vercel Functions). Workers run on Cloudflare's edge network, meaning your function executes at the data center closest to the user rather than in a single region. For global applications, this reduces latency significantly. The tradeoff: Workers have a 10ms CPU time limit on the free tier (50ms on paid), which is enough for most API operations but not for CPU-intensive tasks like image processing or complex data transformations.

Deployment Workflow

Connect your GitHub or GitLab repository. Every push to main triggers a production deployment. Every push to any other branch creates a preview deployment with a unique URL -- perfect for testing changes before merging. The build system supports all major static site generators (Next.js static export, Astro, Hugo, Gatsby, Eleventy, Jekyll, SvelteKit, and more) and runs on a fast build pipeline that typically deploys in under 60 seconds.

Limitations

Best for: Static sites, blogs, documentation, portfolios, and marketing pages where you want unlimited free hosting with zero risk of overage charges.

2. Vercel -- Best for Next.js and React Projects

Vercel is the company behind Next.js, and it shows. Deploying a Next.js app to Vercel is seamless: push to GitHub, Vercel detects the framework, builds it, and deploys with server-side rendering, API routes, image optimization, and incremental static regeneration all working out of the box. No configuration files, no build scripts, no infrastructure setup.

The Developer Experience

Vercel's deployment experience is the best in class. The dashboard shows deployment history, build logs, and performance metrics in a clean interface. Preview deployments for every pull request include a comment bot on GitHub that posts the preview URL directly on the PR. The CLI (vercel) deploys from your terminal in one command. Speed-wise, deployments typically complete in 30-90 seconds.

Serverless Functions

Vercel's free tier includes serverless functions (Node.js, Python, Go, Ruby) with 100GB-hours of execution and a 10-second timeout. This is enough for API routes that serve database queries, handle webhooks, process form submissions, and integrate with third-party APIs. For a side project with moderate traffic (a few thousand users), the free tier is more than adequate.

Edge Functions

Vercel Edge Functions run on Cloudflare's network (yes, Vercel uses Cloudflare under the hood for edge compute). They start in under 1ms -- no cold starts -- and are ideal for middleware: authentication checks, A/B testing, geolocation-based routing, and request rewriting. The free tier includes 500,000 Edge Function invocations per month.

Limitations

Best for: Next.js and React applications, personal projects, and portfolios. The best developer experience for frontend frameworks.

3. Netlify -- Best for JAMstack and Built-In Features

Netlify pioneered the JAMstack deployment model and remains the most feature-complete platform for static sites that need dynamic functionality without managing infrastructure. The free tier includes 100GB bandwidth, 300 build minutes, serverless functions (125,000 requests/month), form handling (100 submissions/month), and identity service (1,000 active users).

Built-In Features That Replace External Services

Where Netlify differentiates from Vercel and Cloudflare is the built-in features that eliminate external dependencies. Netlify Forms captures form submissions without any backend code or third-party service -- add a netlify attribute to your HTML form and submissions appear in your dashboard. Netlify Identity adds authentication (email/password, Google, GitHub, GitLab) without Auth0 or Firebase. Netlify CMS (now Decap CMS) provides a content management interface for non-technical editors.

For freelancers building client sites, these built-in features are valuable. A marketing agency landing page with a contact form, basic authentication for a client portal, and CMS for blog updates can be deployed entirely on Netlify's free tier without any external services.

Split Testing and Deploy Previews

Netlify includes branch-based split testing on the free tier -- route a percentage of traffic to different branches to test changes before fully deploying. Deploy previews create a unique URL for every pull request, including a build log and visual diff tool. These features are production-grade and available at no cost.

Limitations

Best for: JAMstack sites that need forms, authentication, or CMS without external services. Freelancers building client sites. Hugo, Gatsby, and Eleventy projects.

4. Railway -- Best Free Backend Hosting

Railway solves the problem that Vercel, Netlify, and Cloudflare do not: where do you host your backend? Railway deploys any application that runs in a Docker container -- Node.js, Python, Go, Rust, Java, Ruby, PHP -- with a simple railway up or GitHub push. The free tier provides $5/month in usage credits, which covers a small app running 24/7 or a larger app running intermittently.

How the $5 Credit Works

Railway charges by resource usage: CPU time, memory, and network. A small Node.js API server with a Postgres database (both hosted on Railway) uses approximately $3-4/month in resources. That leaves room for a Redis cache, a cron job worker, or additional services. The credit resets monthly, so you get a consistent free budget rather than a one-time allowance.

One-Click Services

Railway offers one-click deployment for PostgreSQL, MySQL, MongoDB, Redis, and other infrastructure services. Each runs as a separate container with persistent storage. Setting up a Postgres database takes 10 seconds -- click "New," select PostgreSQL, and Railway provisions the database with connection credentials automatically injected into your app's environment variables.

Developer Experience

Railway's dashboard shows real-time logs, deployment history, resource usage, and environment variables for every service. The GitHub integration deploys on every push. The CLI supports local development with railway run (runs your app with Railway environment variables injected locally). For side projects, the setup-to-deployment time is remarkably fast -- usually under 5 minutes for a new project.

Limitations

Best for: Backend APIs, databases, cron jobs, and full-stack apps that need always-on server processes. The easiest path from local development to deployed backend.

5. Render -- Best for Full-Stack Apps

Render positions itself as "the easiest cloud" and delivers on that promise. The free tier includes static sites (unlimited, 100GB bandwidth), web services (750 hours/month with spin-down), PostgreSQL (90 days), and cron jobs. Render supports any language or framework that runs in a Docker container, plus native buildpacks for Node.js, Python, Go, Rust, Ruby, Elixir, and Docker.

Free Web Services: The Spin-Down Caveat

Render's free web services spin down after 15 minutes of inactivity. The first request after spin-down triggers a cold start that takes 30-60 seconds. For personal projects, APIs with intermittent traffic, and development/staging environments, this is acceptable. For anything user-facing that needs instant responses, the cold start is a dealbreaker -- upgrade to the $7/month Starter plan for always-on service.

The 750 hours/month limit means you can run one service 24/7 or multiple services intermittently. For most side projects, a single backend service is sufficient, and the 750-hour limit is never reached.

Free PostgreSQL: 90-Day Limit

Render offers a free PostgreSQL instance with 1GB storage, but it expires after 90 days. After expiration, you can create a new free instance and migrate your data, or upgrade to the $7/month Starter plan for a persistent database. For prototyping and development, 90 days is enough to validate an idea. For production, plan on paying for database hosting (Render's Starter or Neon's free tier).

Blueprint Infrastructure-as-Code

Render Blueprints define your entire infrastructure in a render.yaml file in your repo: web services, databases, cron jobs, environment variables, and build configurations. Push the file and Render provisions everything. This is lighter-weight than full infrastructure as code tools like Terraform but achieves the same reproducibility for applications that live entirely on Render.

Limitations

Best for: Full-stack applications that need a backend server, database, and static frontend all in one platform. Good for prototyping and side projects where cold starts are acceptable.

6. Fly.io -- Best for Docker and Edge Compute

Fly.io runs Docker containers on bare-metal servers across 30+ regions worldwide. The free tier includes 3 shared-CPU VMs (256MB RAM each), 3GB persistent storage, and 160GB outbound bandwidth. Fly.io's differentiator is that your app runs at the edge -- in multiple regions simultaneously -- so users anywhere in the world get low latency without you managing any infrastructure.

Multi-Region by Default

Deploy a Fly.io app and it runs in one region. Add a region with fly regions add and Fly.io runs another instance there. Your app now serves users from two locations, with Fly.io routing each request to the nearest instance. For global applications -- APIs, real-time services, multiplayer games -- this multi-region capability at no extra cost (within the free 3 VMs) is unique among free hosting platforms.

Persistent Storage and Volumes

Unlike serverless platforms, Fly.io gives you persistent volumes that survive restarts and deployments. The 3GB free storage is enough for SQLite databases, file uploads, and local caches. This is significant: you can run a full application with an embedded database (SQLite, DuckDB) on Fly.io's free tier without paying for a separate database service.

Limitations

Best for: Docker-based apps that benefit from multi-region deployment. Real-time services, APIs, and applications using embedded databases (SQLite on the server). Developers comfortable with containers and CLI-driven workflows.

7. GitHub Pages -- Simplest Free Static Hosting

GitHub Pages is the simplest way to host a static site: create a repository, push HTML files, enable GitHub Pages in settings, and your site is live at username.github.io/repo-name. Custom domains with HTTPS are supported. There is no build system to configure, no deployment pipeline to set up, and no account to create beyond your existing GitHub account.

When GitHub Pages Is the Right Choice

For documentation sites, personal blogs (Jekyll is built in), project pages, and simple portfolios, GitHub Pages is unbeatable in simplicity. If documentation is the main goal, our guide to developer documentation platforms covers dedicated options beyond plain static hosting. It supports Jekyll natively (push Markdown files and GitHub builds the site) and can serve any static site generator's output. The 100GB/month bandwidth and 1GB repository size limits are sufficient for text-heavy sites with modest traffic.

Limitations

Best for: Documentation sites, simple portfolios, project pages, and personal blogs. The lowest-friction hosting option for developers already on GitHub.

Free Database Hosting

A free frontend host is only half the equation for most applications. Here are the best free database options to pair with your hosting platform.

ServiceDatabaseFree TierBest For
NeonPostgreSQL0.5GB storage, 190 compute-hours/moServerless Postgres, branching for dev/prod
SupabasePostgreSQL500MB storage, 2 projectsFull backend (auth, storage, realtime, Postgres)
PlanetScaleMySQL5GB storage, 1B row reads/moMySQL apps, branching workflow
TursoLibSQL (SQLite)9GB storage, 500 databasesEdge-replicated SQLite
MongoDB AtlasMongoDB512MB storageDocument databases, Node.js apps
UpstashRedis / Kafka10K commands/dayCaching, rate limiting, message queues

The strongest free database stack in 2026: Neon for PostgreSQL (serverless, scales to zero, generous compute) or Supabase if you also need authentication, file storage, and realtime subscriptions. Pair with Upstash Redis for caching.

Building a Full Free Stack

Static Site or Blog

Full-Stack Side Project

Full-Stack App with Always-On Backend

How to Choose

ScenarioRecommended Platform
Static site, blog, portfolioCloudflare Pages
Next.js applicationVercel
JAMstack with forms/authNetlify
Backend API or microserviceRailway
Full-stack with databaseRender or Railway + Neon
Docker containers, multi-regionFly.io
Simplest possible setupGitHub Pages
Client project (production)Cloudflare Pages (static) + Railway paid (backend)

FAQ

What is the best free hosting platform for a portfolio site?

Cloudflare Pages -- unlimited bandwidth, unlimited requests, global CDN, all free. For the simplest setup, GitHub Pages is even easier: push HTML to a repo and you are live. Both support custom domains with free HTTPS.

Can I host a full-stack app for free?

Yes. Use Cloudflare Pages or Vercel for the frontend, Vercel Functions or Cloudflare Workers for the API layer, and Neon or Supabase for the database. All have free tiers. For an always-on backend, Railway ($5 free credits) or Fly.io (3 free VMs) work. Expect cold starts and resource limits on free tiers.

Vercel or Netlify -- which is better in 2026?

Vercel is better for Next.js projects (built by the same team, first-class support). Netlify is better when you need built-in forms, identity, or CMS without external services. Both have excellent free tiers. For non-Next.js frameworks, the choice is a matter of preference.

Will my free hosting handle traffic if my project goes viral?

Cloudflare Pages handles any traffic level on the free tier (no bandwidth limit). Vercel and Netlify cap at 100GB/month -- a viral post with large assets could exceed this. For backend services, free tiers will struggle under heavy load. Start free and upgrade if traffic justifies it.

Is free hosting reliable enough for a client project?

For static sites, yes -- Cloudflare Pages, Vercel, and Netlify serve the same infrastructure to free and paid users. For backend services, no -- free tiers have cold starts, no SLA, and resource limits. Spend $5-20/month on a paid backend tier for client production work.


Last updated June 2026. All free tiers verified at time of publication. Pricing and limits change frequently -- check each platform's pricing page for current details.