Previous Article: How to Build a Developer Portfolio Website in 2026: Beginner's Guide
If you've just finished building your first project — a portfolio, a quiz app, a college management system, or a small full-stack app — you're probably asking the same question every student asks next:
"Okay… now where do I actually put this online?"
Search for "free hosting" and you'll get dozens of "Top 10" lists, most of them copy-pasted from 2022, still recommending platforms that have quietly changed their free plans, added credit-card requirements, or shut down completely. That's a real problem in 2026, because free hosting has moved fast this year: Netlify switched to a credit-based free plan, Railway's "free tier" is now mostly a 30-day trial, PythonAnywhere trimmed what new free accounts get, and Hugging Face Spaces no longer gives free compute the way it used to.
This guide skips the recycled lists. Every platform below was checked against its current 2026 free-plan documentation, not what it offered a year or two ago. Where a platform used to be a popular free option but no longer really is one, that's called out directly — because recommending it anyway would waste your time.
By the end of this guide, you'll know exactly:
- Which free host to use for a static HTML/CSS/JS site, a React or Vite app, a Node.js API, a Python backend, or a PHP + MySQL project
- How to actually deploy to each one, step by step
- Where to host your database separately (this trips up almost every beginner)
- What mistakes to avoid, and how to fix common deployment errors
Let's start with the basics, in case some of this is still new to you.
What Is Web Hosting? (In Plain Language)
Here's the simplest way to think about it:
You built a website on your own computer. Right now, it only works because your computer is running and has the files. Hosting means putting a copy of that website on someone else's always-on computer (a server), connected to the internet 24/7, so anyone in the world can open it — not just you.
A few terms that confuse beginners:
- Localhost — your own computer, while you're building and testing. Only you can see it (usually at an address like
http://localhost:3000). - Hosting — a service that keeps your project running on the internet so other people can visit it.
- Domain — the human-readable address people type to reach your site, like
vicky-portfolio.com. You can also use a free subdomain most hosts give you, likevicky.vercel.app. - Server — the actual machine (usually a cloud computer, not a physical box you own) that runs your code and answers requests.
- Database — a separate system that stores and organizes your data (user accounts, quiz questions, blog posts). It's not automatically included just because your frontend or backend is hosted — this is one of the biggest points of confusion for students, and we'll cover it in detail later.
Free Hosting vs. Paid Hosting: What's the Real Difference?
For a student project, free hosting is genuinely enough in almost every case. Here's what typically separates free from paid:
| Free Hosting | Paid Hosting | |
|---|---|---|
| Cost | ₹0 | Usually $5–$25+/month |
| Custom domain | Usually supported | Supported |
| HTTPS/SSL | Usually included free | Included |
| Uptime | May sleep after inactivity | Always-on |
| Resource limits | Capped (bandwidth, build minutes, compute) | Higher or unlimited |
| Commercial use | Often restricted to personal/non-commercial | Allowed |
| Support | Community-based | Priority/direct support |
Free hosting is excellent for learning, portfolios, resumes, hackathons, and demonstrations. It's not designed for a real business generating revenue — most free plans explicitly disallow that in their terms.
Free Hosting Comparison Table (2026)
Here's the full picture before the detailed breakdown. "Beginner Friendly" is rated out of 5.
| Hosting | Best For | Frontend | Backend | Database | GitHub Deploy | Beginner Friendly |
|---|---|---|---|---|---|---|
| GitHub Pages | Static portfolios, docs | ✅ | ❌ | ❌ | ✅ | ⭐⭐⭐⭐⭐ |
| Cloudflare Pages | Static sites + edge functions | ✅ | ⚠️ Limited (Workers) | ❌ | ✅ | ⭐⭐⭐⭐ |
| Vercel (Hobby) | React / Next.js / Vite frontends | ✅ | ⚠️ Serverless functions only | ❌ | ✅ | ⭐⭐⭐⭐⭐ |
| Netlify (Free) | Static sites, forms, light functions | ✅ | ⚠️ Serverless functions only | ❌ | ✅ | ⭐⭐⭐⭐⭐ |
| Render (Free) | Full Node.js/Python/Docker backends | ✅ (static) | ✅ | ⚠️ Postgres, 90-day expiry | ✅ | ⭐⭐⭐⭐ |
| PythonAnywhere (Free) | Simple Flask/Django learning apps | ❌ | ✅ (Python only) | ⚠️ Legacy accounts only | ⚠️ Manual/console | ⭐⭐⭐⭐ |
| InfinityFree | Classic PHP + MySQL sites | ✅ | ✅ (PHP only) | ✅ MySQL (50MB/db) | ❌ FTP upload | ⭐⭐⭐ |
| Railway | ⚠️ Not really free anymore in 2026 | — | — | — | ✅ | — |
A checkmark means genuinely supported on the free plan as of 2026. A warning icon means it's supported but with a meaningful catch explained below — don't skip those sections.
Best Free Hosting Platforms for Students in 2026
1. GitHub Pages
Best for: Static HTML/CSS/JS portfolios, project documentation, resume sites
What you can host: Pure static sites — HTML, CSS, JavaScript, and frontend frameworks that build down to static files (React, Vite, Vue with static export). No server-side code, no database.
Free plan highlights:
- Completely free for public repositories, no credit card, no time limit
- Free custom domain support with automatic HTTPS via Let's Encrypt
- A soft bandwidth limit of around 100 GB/month and a recommended 1 GB repository size — these are "soft" limits GitHub monitors rather than hard billing thresholds
- A soft cap of about 10 builds per hour (this doesn't apply if you build via a custom GitHub Actions workflow)
Advantages:
- Deployment is literally "push to GitHub" — no separate hosting account to manage
- Extremely reliable for simple portfolios and documentation
- Free SSL and custom domains with zero configuration hassle
Limitations:
- Static only — cannot run PHP, Node.js, Python, or any backend logic
- No database support of any kind
- Not intended for commercial or e-commerce use
How to deploy step-by-step:
- Create a GitHub account and a new repository
- Push your HTML/CSS/JS project files to the repository (make sure
index.htmlis at the root, or in adocsfolder) - Open the repository's Settings tab
- Click Pages in the sidebar
- Under "Build and deployment," choose your source branch (usually
main) - Click Save
- Wait 1–2 minutes for GitHub to build and publish your site
- Open the generated URL (
https://yourusername.github.io/repo-name) - Test every link, image, and button on the live site
Recommended student projects: HTML/CSS/JS portfolios, static resumes, documentation sites, simple landing pages, and any React/Vite app that doesn't need a live backend.
2. Cloudflare Pages
Best for: Static sites that might get real traffic, plus optional lightweight edge functions
What you can host: Static frontends (HTML/CSS/JS, React, Vite, Next.js static export) with the option to add small serverless functions through Cloudflare Workers.
Free plan highlights:
- Unlimited static sites and, unlike every other option on this list, no bandwidth cap on static asset delivery — the free tier is usage-limited elsewhere (builds, Workers requests) but not on raw bandwidth for static content
- Free automatic SSL and support for up to 100 custom domains per project
- Optional Pages Functions (built on Cloudflare Workers) for small dynamic logic, with a shared free allowance of about 100,000 requests per day
Advantages:
- The best free option if you're worried about a project going viral or getting shared widely, since there's no bandwidth ceiling
- Fast global CDN delivery out of the box
- Can add small backend logic (form handling, simple APIs) without leaving the platform
Limitations:
- Pages Functions are not a substitute for a real backend framework — they're small, stateless functions, not a persistent Express or Django server
- No built-in database (you'd pair it with Cloudflare D1, or an external service like the ones covered later in this guide)
- The dashboard and Workers/Pages split can feel slightly less beginner-friendly than Vercel or Netlify at first
How to deploy step-by-step:
- Create a free Cloudflare account
- From the dashboard, choose Workers & Pages → Create → Pages
- Connect your GitHub account and select your repository
- Set the build command and output directory (for plain HTML/CSS/JS, leave the build command empty and set the output directory to your project root)
- Click Save and Deploy
- Wait for the build to finish
- Open the generated
*.pages.devURL - Test the live site, then optionally connect a custom domain from the project settings
Recommended student projects: Static portfolios expected to get shared on social media or LinkedIn, documentation sites, and any static frontend paired with a separate backend/database.
3. Vercel (Hobby Plan)
Best for: React, Next.js, and Vite frontends, plus light Node.js API routes
What you can host: Static sites and frontend frameworks natively, with serverless/edge functions for lightweight backend logic (API routes). Vercel is not designed for a long-running, persistent Express server — its functions run per-request, not continuously.
Free plan highlights:
- 100 GB of data transfer per month
- Around 1 million serverless function invocations per month
- About 6,000 build minutes per month
- Free custom domains with automatic HTTPS
- Automatic deployments from GitHub on every push, plus preview URLs for pull requests
Advantages:
- The best-in-class experience for Next.js specifically (Vercel builds Next.js), and excellent for React/Vite too
- Deploy previews for every branch make it easy to share work-in-progress with a teacher or teammate
- Genuinely free forever for personal projects — no credit card required to sign up
Limitations:
- The Hobby plan is explicitly restricted to personal, non-commercial use — this matters less for a college project, but it's worth knowing if you ever plan to monetize what you build
- When you hit a limit, the affected feature pauses rather than billing you, but that still means downtime
- Only one production build runs at a time, so multiple rapid commits will queue
How to deploy step-by-step:
- Create a free Vercel account (sign up with GitHub)
- Click Add New → Project
- Import your GitHub repository
- Vercel auto-detects your framework (React, Vite, Next.js, or static HTML) and pre-fills build settings — review them
- Add any environment variables your project needs (covered in detail later)
- Click Deploy
- Wait for the build to complete (usually under a minute for small projects)
- Open the generated
*.vercel.appURL - Test the live site on both desktop and mobile
Recommended student projects: React portfolios, Vite projects, Next.js projects, and any frontend that needs a handful of small API endpoints (contact forms, simple data fetching) rather than a full persistent backend.
4. Netlify (Free Plan)
Best for: Static sites, forms, and frontend projects that want built-in extras without extra setup
What you can host: Static frontends and frameworks that build to static output, plus serverless and edge functions for lightweight backend logic.
Free plan highlights:
- As of late 2025, Netlify moved new accounts to a credit-based system: 300 credits/month on the free plan, with no auto-recharge and no overage billing — when credits run out, the site pauses until next month
- Credits cover bandwidth, builds, and function invocations together (roughly: a production deploy costs 15 credits regardless of build time, and bandwidth/compute are metered separately)
- Built-in form handling without writing backend code
- Free custom domains and automatic HTTPS
Advantages:
- The drag-and-drop deploy option is the single easiest way for a total beginner to get a static site online — no Git required if you don't want to use it
- Built-in form submissions are genuinely useful for a portfolio "contact me" form without needing a backend
- Deploy previews for every branch/PR, like Vercel
Limitations:
- If your account was created before September 4, 2025, you may still be on the older "100 GB bandwidth + 300 build minutes" model rather than credits — worth checking your dashboard, since the two models behave differently
- 300 credits/month is a hard limit with no way to exceed it for free — a site that gets shared widely can burn through it faster than you'd expect
- Not designed for persistent backend servers, same as Vercel
How to deploy step-by-step:
- Create a free Netlify account
- Option A (easiest): Drag your project folder directly into the deploy zone on the Netlify dashboard
- Option B (recommended for ongoing projects): Click Add new site → Import an existing project, connect GitHub, and select your repository
- Set your build command and publish directory if using a framework (leave blank for plain HTML/CSS/JS)
- Click Deploy site
- Wait for the build/upload to finish
- Open the generated
*.netlify.appURL - Test the site, including any forms you've added
Recommended student projects: Static portfolios, landing pages, JavaScript web apps, and any project that benefits from a built-in contact form.
5. Render (Free Plan)
Best for: Real backend servers — Node.js, Python, Ruby, Go, Rust, or anything you can put in a Docker container
What you can host: Full backend web services with persistent processes (unlike Vercel/Netlify's request-based functions), static sites, and (with real limitations) a free PostgreSQL database.
Free plan highlights:
- 750 free instance-hours per month for a web service — enough to run one service continuously for a full month
- No credit card required to start
- Unlimited free static site hosting alongside your backend
- Supports Docker, Node.js, Python, Ruby, Go, Rust, and Elixir with automatic build detection
- A free PostgreSQL database is available, but it's capped at 256 MB and expires after 90 days — this is a real limitation students often miss until their database suddenly disappears
Advantages:
- The most complete free "real backend" experience on this list — you can genuinely deploy a Flask, Express, or Django app that behaves like a normal server
- No credit card requirement removes a major barrier for students
- Custom domains and free TLS included
Limitations:
- Free web services sleep after 15 minutes of inactivity, and the next visitor has to wait roughly 30–60 seconds for a cold start — this is the single most common complaint about Render's free tier, and it will affect a demo if a teacher opens your project after it's been idle
- The free PostgreSQL database's 90-day expiry means you cannot treat it as permanent storage without a plan to migrate or upgrade
- Bandwidth overages beyond the free allowance are billed if you add a paid instance later
How to deploy step-by-step:
- Create a free Render account (no credit card needed)
- Click New → Web Service
- Connect your GitHub repository
- Choose the runtime (Node, Python, Docker, etc.) — Render usually auto-detects it
- Set the build command (e.g.,
npm installorpip install -r requirements.txt) and start command (e.g.,node server.jsorgunicorn app:app) - Add any environment variables under the Environment tab
- Click Create Web Service
- Wait for the build and deploy to finish (this can take a few minutes for the first deploy)
- Open the generated
*.onrender.comURL and test every route
Recommended student projects: Node.js + Express APIs, Python Flask or FastAPI backends, and full-stack projects where you need the frontend and backend on the same platform.
6. PythonAnywhere (Free Account)
Best for: Simple Flask or Django learning projects, especially for students who want an all-in-browser workflow without a local terminal
What you can host: Python web applications (Flask, Django, or any WSGI-based app) — nothing else. This is a Python-only platform.
Free plan highlights:
- One web app on a
yourusername.pythonanywhere.comsubdomain, with free SSL included - Two browser-based consoles and a daily scheduled task
- 512 MB of disk space and about 100 CPU-seconds/day
- Important 2026 change: as of January 2026, new free-account web apps now come with a 1-month expiry that needs manual renewal, and free accounts created after mid-January 2026 no longer include a MySQL database — that's now limited to older, "legacy" accounts created before that date. If you're signing up fresh in 2026, plan your database separately (see the database section below)
- Outbound internet access from free accounts is restricted to a whitelist of common APIs, which can block calls to less common third-party services
Advantages:
- Genuinely beginner-friendly for a first Python deployment — no local server setup, no CLI required, everything happens in the browser
- Good for learning how a WSGI app actually gets served, without Docker or complex configuration
- No cost, no card, and a supportive community/forum for free-tier users
Limitations:
- The 1-month expiry on new free web apps means you need to log in periodically and click "Run until 3 months from today" (or the current renewal option) to keep your app live — an abandoned project will go offline
- No database included for new (2026) free accounts — you'll need an external free database service
- Restricted outbound internet access can silently break API calls that aren't on the approved list
- Direct support was removed for free accounts starting January 2026; help now comes from community forums
How to deploy step-by-step:
- Create a free "Beginner" account at pythonanywhere.com
- Open a Bash console from the dashboard
- Upload your project files, or clone them with
git clone <your-repo-url> - Create a virtual environment and install dependencies (
pip install -r requirements.txt) - Go to the Web tab and click Add a new web app
- Choose Manual configuration and select your Python version
- Point the WSGI configuration file to your Flask/Django app
- Set the virtualenv path in the Web tab
- Click the green Reload button
- Open your
yourusername.pythonanywhere.comURL and test it
Recommended student projects: Simple Flask apps, Django learning projects, small automation dashboards, and Python API prototypes — not projects that need a database from day one unless you're on a legacy account.
7. InfinityFree
Best for: Classic PHP + MySQL websites — the project type most modern JavaScript-first hosts simply don't support for free
What you can host: PHP applications with MySQL databases, plus static HTML/CSS/JS. This fills a real gap, since Vercel, Netlify, Render's free tier, and Cloudflare Pages don't offer a beginner-friendly free path for classic PHP + MySQL sites.
Free plan highlights:
- No credit card, no trial period — genuinely free indefinitely
- Up to 400 MySQL databases per account (each capped at 50 MB, which fills up faster than it sounds once you add WordPress-style tables or lots of test data)
- 5 GB of storage with a fair-use cap of roughly 30,000–50,000 daily hits
- Free SSL via Let's Encrypt and custom domain support
- Runs current PHP versions (PHP 8.x)
Advantages:
- The only realistic free option on this list for a PHP + MySQL college project without moving to a paid host
- No forced ads on your site, unlike many other "free" PHP hosts
- Custom domain support if you already own one
Limitations:
- No SSH or terminal access — you can't use Composer, WP-CLI, or Git deployments directly on the server; files go up via FTP or the file manager
- No integrated email hosting (you can't create a
you@yourdomain.cominbox on the free plan) - Accounts can be suspended automatically, sometimes without much warning, if you cross the daily hit or resource limits
- Shared, throttled CPU/memory means performance can be noticeably slower under load than the JavaScript-first hosts above
A note on outdated recommendations: you'll still see old "free PHP hosting" lists recommending 000webhost. That service was shut down by Hostinger in early 2024 and is no longer available — don't waste time trying to sign up for it.
How to deploy step-by-step:
- Create a free InfinityFree account
- Create a new hosting account and choose a free subdomain (or connect a domain you own)
- Open the Control Panel (VistaPanel)
- Use MySQL Databases to create a new database and note the credentials
- Use the File Manager (or an FTP client like FileZilla) to upload your PHP files into the
htdocsfolder - Update your PHP database connection code with the MySQL credentials from step 4
- Wait a few minutes for DNS/propagation if you're using a custom domain
- Open your site URL and test every page and form
- Check the error logs in the control panel if something doesn't load
Recommended student projects: PHP + MySQL college management systems, PHP-based quiz apps, and any classic dynamic website assignment that specifically requires PHP.
A Quick Word on Railway
Railway used to be one of the most recommended "free" backend hosts for students, and a lot of still-circulating guides treat it that way. That's outdated as of 2026. Railway now gives new accounts a one-time $5 trial credit that expires after 30 days, after which you're moved to either a minimal $1/month "Free" plan (roughly enough for one tiny always-on service, with no room for a database) or the $5/month Hobby plan. There's no ongoing, meaningfully free tier anymore. If you liked Railway's developer experience, that's fair — but for a genuinely free backend in 2026, Render is the better starting point from this list.
Best Free Hosting for Frontend Projects
If your project is HTML/CSS/JS, React, or Vite with no backend:
- Simplest, most beginner-friendly: GitHub Pages
- Best if you want zero bandwidth worries: Cloudflare Pages
- Best for React/Next.js specifically: Vercel
- Best if you want built-in contact forms: Netlify
All four are genuinely free, all support custom domains and free HTTPS, and all deploy automatically from GitHub. For a first portfolio, GitHub Pages or Vercel are the easiest starting points.
Best Free Hosting for Backend Projects
If your project needs a server that actually runs continuously (Node.js/Express, Python/Flask, Django, FastAPI):
- Best all-around free backend: Render — real servers, real frameworks, no credit card, but expect a 15-minute sleep timer on the free tier
- Best for simple, browser-only Python projects: PythonAnywhere — easiest for total beginners, but remember the 1-month renewal and lack of a free database on new accounts
- Lightweight API endpoints only (not a full server): Vercel or Netlify serverless functions, if your "backend" is really just a few small endpoints
Avoid Railway for this purpose in 2026 unless you're comfortable paying $5/month — its free tier is a 30-day trial, not an ongoing plan.
Best Free Hosting for Full-Stack Projects
A full-stack project needs three things hosted somewhere: frontend, backend, and database. You rarely find all three, fully free, on a single platform — the realistic pattern for students in 2026 is to combine platforms:
- Frontend: Vercel, Netlify, or GitHub Pages
- Backend: Render (for Node.js/Python/Express/Flask/Django)
- Database: Supabase, Neon, or MongoDB Atlas (covered next)
This "combine three specialists" approach is actually how most real-world small projects are deployed too — it's not a workaround, it's the standard pattern.
Best Free Hosting for AI-Powered Web Applications
AI project hosting changed meaningfully in 2026, and this is a place where outdated advice is common.
Streamlit Community Cloud — free, connects directly to a public GitHub repository, and lets you deploy unlimited public Streamlit apps (one private app is allowed). Apps get roughly 1 GB of memory and sleep after about 12 hours without traffic, with no custom domain on the free tier. This is currently the most straightforward free option for a Python/AI web app demo — a scikit-learn model with a simple UI, a data dashboard, or an LLM-powered chat interface using an API key.
Hugging Face Spaces — still useful, but not as free as it used to be. As of 2026, only Static Spaces are free for everyone. Spaces that run real compute (Gradio or Docker apps) now require a paid plan to create, with one exception: free personal accounts can still host up to 2 Gradio Spaces on the restricted, shared "ZeroGPU" tier. If your AI demo needs a real CPU-based Space the old "free CPU Basic" way, that option has effectively been removed for new free-tier Spaces — plan around the 2-Space ZeroGPU allowance or the Streamlit alternative above.
For most student AI demos — a trained model behind a simple form, a chatbot UI, a data visualization tool — Streamlit Community Cloud is currently the more reliable free starting point.
Where Should You Host Your Database?
This is where a lot of students get confused: deploying your frontend or backend does not automatically give you a hosted database. A database is a separate piece of infrastructure that you connect to from your backend using a connection string (a URL with credentials in it).
Here's the basic architecture for a full-stack project:
User (browser)
↓
Frontend (Vercel / Netlify / GitHub Pages)
↓ (API calls)
Backend / API (Render / PythonAnywhere)
↓ (database connection string)
Database (Supabase / Neon / MongoDB Atlas)
Each layer is hosted separately, and your backend is the only layer that talks directly to the database. Your frontend should never contain database credentials.
Free database options verified for 2026:
- Supabase (PostgreSQL) — 500 MB database, 1 GB file storage, 50,000 monthly active users, up to 2 free projects, no credit card. The one catch: free projects pause after 7 days of inactivity and need a manual click (or a scheduled ping) to wake back up — fine for development, worth knowing before a live demo.
- Neon (serverless PostgreSQL) — 0.5 GB storage and 100 compute-hours per month per project, no credit card, doesn't expire, and scales to zero when idle (meaning a short delay on the first request after inactivity).
- MongoDB Atlas (M0 tier) — 512 MB storage, genuinely free forever, no time limit — a solid pick if your project uses the MERN stack (MongoDB + Express + React + Node).
- Firebase (Spark plan) — good for small full-stack or mobile-adjacent apps: 1 GB Firestore storage with generous daily read/write quotas, 1 GB Hosting storage, and free authentication for common sign-in methods, with no credit card required. Note that since February 2026, Firebase Cloud Storage specifically now requires the paid Blaze plan even for small amounts — Firestore and Hosting remain free on Spark, just not Cloud Storage.
- Turso (SQLite-based, edge-distributed) — a solid free tier (multiple GB of storage) if your project benefits from a lightweight, fast SQLite-style database rather than full Postgres/MongoDB.
A caution on outdated advice: PlanetScale used to be a commonly recommended free MySQL option. It removed its free tier in April 2024, and pricing now starts around $39/month. Don't build a 2026 project around PlanetScale expecting a free plan — Neon or Supabase are the closer modern equivalents if you specifically want a MySQL-style workflow with branching.
Best Free Hosting Combinations for Students
Instead of guessing, use these combinations as starting points:
For a static website (HTML/CSS/JS) Frontend Hosting → GitHub Pages or Cloudflare Pages
For React or Vite Frontend Hosting → Vercel or Netlify
For a Node.js backend / API Backend Hosting → Render
For PHP + MySQL Hosting → InfinityFree (both PHP and MySQL together)
For a full-stack project (React + Node.js) Frontend → Vercel Backend → Render Database → Supabase or MongoDB Atlas
For a full-stack Python project (React + Flask/FastAPI) Frontend → Netlify or Vercel Backend/API → Render Database → Supabase or Neon
For an AI-powered web application Frontend/App → Streamlit Community Cloud (if the whole app is Python) or Vercel/Netlify (if it's a JS frontend calling an AI API) Backend/API → Render (for a custom Python/Node inference API) or Streamlit Community Cloud itself Database → Supabase or MongoDB Atlas (for storing user data, chat history, results)
Project Type → Recommended Hosting
| Project Type | Recommended Hosting |
|---|---|
| HTML/CSS/JS portfolio | GitHub Pages |
| React portfolio | Vercel |
| Vite project | Vercel or Netlify |
| JavaScript web app (no backend) | Netlify or GitHub Pages |
| Node.js + Express API | Render |
| Python Flask application | Render (full app) or PythonAnywhere (simple/learning) |
| Python FastAPI application | Render |
| PHP + MySQL project | InfinityFree |
| Full-stack React + Node.js project | Vercel (frontend) + Render (backend) + Supabase/MongoDB Atlas (database) |
| Next.js project | Vercel |
| College management system | InfinityFree (PHP+MySQL) or Vercel+Render+Supabase (JS stack) |
| Quiz application | GitHub Pages/Netlify (no backend needed) or Vercel+Render (if scores are saved server-side) |
| Blog website | Netlify or Vercel (static-generated) |
| AI-powered web application | Streamlit Community Cloud or Vercel+Render calling an AI API |
How GitHub Deployment Works
Most modern free hosts deploy your project automatically once it's connected to a GitHub repository. Understanding the flow removes a lot of confusion for beginners:
Local Project → GitHub Repository → Hosting Platform → Deployment → Live Website
- Repository — a project folder tracked by Git, stored on GitHub, containing your code and its full history of changes.
- Push code — the command that uploads your local changes to your GitHub repository (
git push). - Connect repository — a one-time step where you authorize your hosting platform (Vercel, Netlify, Render, etc.) to access a specific GitHub repository.
- Automatic deployment — once connected, most platforms watch your repository and automatically rebuild and redeploy your site whenever you push new code to the connected branch.
- Deployment updates after GitHub changes — this is the part beginners find magical the first time: edit your code locally, commit, push, and within a minute or two the live site updates itself — no manual re-uploading required.
If you're new to Git and GitHub as concepts, our Git & GitHub Roadmap for Beginners walks through the fundamentals before you get to deployment.
Environment Variables Explained
If your project uses an API key, a database password, or any kind of secret, never write it directly into your code — especially not in frontend JavaScript or in a public GitHub repository. Anyone can view your repository's history, and secrets committed even once can be found later even if you delete them afterward.
Instead, use environment variables — values stored outside your code, injected into your application at runtime by the hosting platform.
Never put these directly in your code or push them to GitHub:
- API keys (OpenAI, weather APIs, maps APIs, etc.)
- Database connection strings and passwords
- Secret keys and JWT signing secrets
- Authentication credentials
On most platforms, the process looks like this:
- In your code, reference the variable by name instead of the actual value:
process.env.API_KEY(Node.js) oros.environ.get("API_KEY")(Python) — never the real key itself. - In your hosting dashboard (Vercel → Settings → Environment Variables, Render → Environment tab, Netlify → Site settings → Environment variables), add the variable name and its real value.
- Redeploy — the platform injects the value securely at build/run time.
- Add a
.envfile to your.gitignorelocally, so your real secrets never get committed to GitHub in the first place.
A simple mental example (not a real key):
Variable name: WEATHER_API_KEY
Variable value: [kept private in the hosting dashboard, never in your code]
Common Hosting Mistakes Students Make
1. Uploading the wrong folder
Uploading your entire project folder instead of the build output (or vice versa) leads to a broken or missing site. Fix: check what the platform expects — some want the raw source with a build command, others want a pre-built dist/build folder.
2. Forgetting build commands
Frameworks like React and Vite need a build step (npm run build) before deployment. Fix: set the correct build command in your hosting platform's project settings, not just run it locally and forget it.
3. Using localhost URLs in production code
Hardcoding http://localhost:5000/api in your frontend will break the moment it's deployed. Fix: use environment variables that point to your deployed backend URL, different for local development and production.
4. Exposing API keys Committing a real API key to a public GitHub repository is one of the most common beginner security mistakes. Fix: use environment variables (see above) and rotate/regenerate any key that was accidentally exposed.
5. Not configuring environment variables on the host Your code references an environment variable, but you forgot to actually add it in the hosting dashboard. Fix: double-check every variable your code expects is set on the platform, not just locally.
6. Connecting the wrong GitHub repository Especially easy to do if you have multiple similarly-named repos. Fix: verify the repository name and branch in your hosting platform's project settings before your first deploy.
7. Using unsupported backend technology on a static host Trying to run PHP or Node.js on GitHub Pages, or expecting Vercel's serverless functions to behave like a persistent Express server. Fix: match your backend technology to a platform that actually supports it (see the comparison table above).
8. Forgetting database configuration Deploying a backend that expects a database connection string, without actually creating and connecting a database first. Fix: set up your database (Supabase, Neon, MongoDB Atlas) before deploying the backend that depends on it.
9. Assuming deployment means the database is automatically hosted This is the single most common full-stack misunderstanding among students. Deploying your backend does not create a database — you must provision one separately and connect it with a connection string.
10. Not checking deployment logs When something fails, the answer is almost always in the build or runtime logs. Fix: every platform in this guide has a Logs or Deploys tab — check it first before asking for help or re-deploying blindly.
Common Hosting Problems & Solutions
Build failed
Usually a missing dependency, wrong Node/Python version, or a typo in the build command. Check the build log for the exact error line, and confirm your package.json or requirements.txt is complete and committed.
404 error on your live site
Often means index.html isn't in the location the platform expects, or your build output folder setting is wrong. Double-check the publish/output directory setting matches where your build actually places files.
Website works locally but not online
Almost always caused by hardcoded localhost URLs, missing environment variables, or a build step that wasn't run before deployment. Compare your local .env values against what's actually set in the hosting dashboard.
API not connecting from the frontend Check that your frontend is calling your deployed backend URL (not localhost), that CORS is configured on the backend to allow your frontend's domain, and that the backend is actually running (not asleep, if you're on Render's free tier).
Database connection failed Verify the connection string is correct and set as an environment variable (not hardcoded), that your database allows connections from your backend's IP or region, and — on Supabase specifically — that your free project hasn't paused from inactivity.
Environment variable missing
The app works locally (where your .env file exists) but breaks live. Go back through every variable your code reads and confirm each one is set in the hosting platform's dashboard, then redeploy.
CORS error
The browser blocks your frontend from calling your backend because the backend hasn't explicitly allowed that origin. Fix: add your frontend's deployed URL to the backend's CORS allowed-origins list (in Express, this is usually the cors middleware config; in Flask, flask-cors).
Page refresh gives a 404 (on a React/Vue single-page app)
Single-page apps handle routing in JavaScript, but a hard refresh asks the server for that exact path directly. Fix: configure a redirect/rewrite rule so all paths serve index.html (Netlify and Vercel both support this with a simple config file).
Deployment keeps failing
Read the full log, not just the last line. Common repeat offenders: a dependency that only exists in your local environment (not in package.json), case-sensitive file path mismatches (common when moving from Windows to a Linux-based host), or an outdated lockfile.
Backend goes to sleep (Render free tier) This is expected behavior on Render's free plan after 15 minutes of inactivity — not a bug. For a live demo, visit the URL a minute or two before presenting to "wake it up," or mention the cold-start behavior upfront if a teacher is testing it directly.
Which Free Hosting Should You Choose?
I have an HTML/CSS/JS website → Use GitHub Pages
I have a React/Vite project → Use Vercel
I need a Node.js backend → Use Render
I need a Python backend → Use Render for a full app, or PythonAnywhere for a simple learning project
I have PHP + MySQL → Use InfinityFree
I need a full-stack application → Use Vercel (frontend) + Render (backend) + Supabase or MongoDB Atlas (database)
I need a database → Use Supabase (PostgreSQL) or MongoDB Atlas (MongoDB), depending on your stack
I am a complete beginner → Start with GitHub Pages if your project is static, or Render if it needs a backend — both work with no credit card and a straightforward first deployment
Important Things to Know About Free Hosting
Free hosting in 2026 is genuinely good, but it's built around fair-use limits, not unlimited resources. Expect to run into some combination of:
- Limited bandwidth — most platforms cap monthly data transfer (Vercel: 100 GB, Netlify: usage tied to 300 credits, GitHub Pages: soft 100 GB)
- Limited storage — especially on free databases (Supabase: 500 MB, Neon: 0.5 GB, MongoDB Atlas: 512 MB)
- Sleep/inactivity behavior — Render backends sleep after 15 minutes idle; Supabase projects pause after 7 days idle; Streamlit apps sleep after about 12 hours idle
- Build limits — a capped number of build minutes or daily builds
- CPU/RAM restrictions — free compute is shared and throttled compared to paid tiers
- Database limits — storage caps, connection limits, and sometimes automatic pausing
- Request limits — API/function invocation caps per month
- Deployment limits — a maximum number of deploys per day on some platforms
- Commercial-use restrictions — several platforms (Vercel, GitHub Pages) explicitly restrict free plans to personal, non-commercial projects
- Free-plan changes — as this guide itself demonstrates, free tiers change: Netlify moved to credits, Railway effectively removed its free tier, PlanetScale removed its free tier entirely, and PythonAnywhere trimmed free-account features — always check a platform's current pricing page before building around it long-term
Free hosting is excellent for learning, college projects, portfolios, demonstrations, hackathons, and resume projects. It's genuinely not designed for large production applications with real paying users — and that's fine, because that's not what a student project needs to be.
Final Recommendation
| Student Requirement | Best Choice | Why |
|---|---|---|
| Static Website | GitHub Pages | Simplest deploy flow, free custom domain, no backend needed |
| React/Vite | Vercel | Best framework support, generous function allowance, deploy previews |
| Node.js Backend | Render | Real persistent servers, no credit card, genuine free backend hosting |
| Python Backend | Render (full apps) / PythonAnywhere (learning) | Render for real deployment; PythonAnywhere for the simplest first Python deploy |
| PHP + MySQL | InfinityFree | Only realistic free option with both PHP and MySQL together |
| Full Stack | Vercel + Render + Supabase | Combines the best specialist for each layer |
| Beginner | GitHub Pages or Render | No credit card, simple first deployment, clear documentation |
| Portfolio | GitHub Pages or Vercel | Fast, free, reliable for a static or React portfolio |
| College Project | Depends on tech stack — see the Project Type table above | Matches the platform to what your project actually needs to run |
Related Resources
Continue Building Your Skills
- 10 Beginner Programming Projects to Build for Your Resume — if you need something worth deploying, start here
- How to Build a Developer Portfolio Website in 2026: Beginner's Guide — build the portfolio you'll deploy using the hosts in this guide
- GitHub Portfolio 2026: Complete Step-by-Step Guide for Students & Job Seekers — make sure your GitHub profile matches the quality of your live projects
- Git & GitHub Roadmap for Beginners — needed before you can use the automatic GitHub deployment workflow covered in this guide
- Complete Python Roadmap for Beginners in 2026 — if you're heading toward Render or PythonAnywhere for a Python backend
- Full Stack Web Developer Roadmap for 2026 — the bigger picture if you're building toward full-stack projects like the ones in this guide
External Resources (Official Documentation)
- GitHub Pages Documentation
- Vercel Documentation
- Netlify Deployment Documentation
- Cloudflare Pages Documentation
- Render Documentation
- PythonAnywhere Help Pages
- Supabase Documentation
- Neon Documentation
- MongoDB Atlas Documentation
Final Thoughts
Free hosting for student projects in 2026 is better than ever in some ways (Cloudflare Pages' unbounded static bandwidth, Neon's genuinely usable free Postgres) and more confusing in others (Netlify's credit system, Railway's near-disappearance, Hugging Face Spaces' compute restrictions). The platforms in this guide were chosen because they're each the strongest current free option for a specific project type — not because they were popular in a "best free hosting" list from a couple of years ago.
You don't need to memorize all of this. Bookmark this guide, come back to the comparison table or the decision section when you're ready to deploy, and pick the platform that matches what you actually built.
Once your project is live, don't stop there:
- Add the live URL to your resume, next to the project description
- Push the final code to GitHub with a clear README (your GitHub Portfolio Guide covers exactly how)
- Link the live demo from your developer portfolio, not just the repository
- Share it — a project that's actually live and clickable is worth more to a recruiter than one sitting only in your local folder
You built something. Now let people actually see it.
Frequently Asked Questions (FAQs)
Is free hosting really free in 2026, or are there hidden costs?
For the platforms recommended in this guide, yes — genuinely free, with no credit card required to start (Vercel, Netlify, GitHub Pages, Render, InfinityFree, Supabase, Neon, and MongoDB Atlas's M0 tier all fall into this category). The "cost" is usage limits, not a hidden bill: most of these platforms pause your project rather than charging you automatically when you exceed the free allowance.
Can I host a full-stack project completely for free?
Yes, but usually across two or three platforms rather than one. A common free combination is Vercel or Netlify for the frontend, Render for the backend, and Supabase or MongoDB Atlas for the database — each layer hosted by the platform best suited to it.
Which free hosting is best for a final-year project?
It depends entirely on your tech stack. A PHP + MySQL final-year project fits InfinityFree well. A React + Node.js + database project fits the Vercel + Render + Supabase combination. Check the "Project Type → Recommended Hosting" table earlier in this guide for your specific stack.
Do I need a credit card for any of these free hosting platforms?
No, for every platform featured in the main comparison table — GitHub Pages, Cloudflare Pages, Vercel, Netlify, Render, PythonAnywhere, and InfinityFree all let you start without entering payment details. This is one of the filters used to select which platforms to recommend in this guide.
Can I use free hosting for a project I plan to monetize later?
Be careful here. Several platforms — Vercel's Hobby plan and GitHub Pages among them — explicitly restrict free usage to personal, non-commercial projects in their terms of service. If a class project later becomes a real product with paying users, plan to move to a paid plan at that point.
What happens when I exceed a free hosting plan's limits?
Most platforms in this guide pause the affected feature rather than billing you automatically — your site or function stops working until the next billing cycle or until you upgrade. This is different from providers that auto-bill for overages, so check each platform's specific policy if you're deploying something that might get heavy traffic (a class demo going viral on social media, for example).
Is Railway still a good free hosting option in 2026?
Not really, and this guide flags it specifically because outdated lists still recommend it. Railway now gives new accounts a one-time $5 trial credit valid for 30 days, after which you're on a $1/month minimal plan or the $5/month Hobby plan — there's no meaningful ongoing free tier anymore. Render is the closer modern equivalent for a genuinely free backend.
Can I host a PHP + MySQL project for free in 2026?
Yes, through InfinityFree, which offers PHP hosting with up to 400 MySQL databases (each capped at 50 MB) on its free plan, with no credit card required. Just be aware it has no SSH access and no free email hosting, and don't confuse it with 000webhost, which shut down in 2024.
Comments
Post a Comment