Build the mental model
Vercel and Netlify solve the same core problem in a similar way: turning a git repository into a live website with minimal manual deployment work.
- Git integration with automatic builds on every push.
- Preview deployments per branch or pull request, before anything reaches real users.
- Production deployment automatically on merge to the main branch.
- Frontend and full-stack runtime support, plus serverless/edge functions for backend logic.
- Custom domains and environment variables handled as first-class configuration.
Neither Vercel nor Netlify is required to build or run React, Next.js, or any other framework. They are deployment platforms -- one of several hosting choices -- not a dependency of the framework itself.
Each has historically had areas of relative strength, but those shift as both platforms evolve. Evaluate current capabilities against your project's actual needs each time, rather than assuming a fixed reputation.
THE SHARED GIT-BASED DEPLOYMENT SHAPE
-------------------------------------
Git Push
|
v
Build
|
v
Preview Deployment <-- feature branches / pull requests
|
v
(review)
|
v
Merge to main
|
v
Production Deployment
|
v
CDN / RuntimeConnect it to a real scenario
Connect a git repository and the platform detects your framework, auto-configuring the build -- no manual server setup needed.
Push and preview
A feature-branch push produces a shareable preview URL attached to the pull request.
Review and merge
Reviewers click through the live preview before anything ships to real users.
Automatic production deploy
Merging to main triggers the production deployment with no separate manual step.
Environment variables are configured per project (and often per environment) rather than committed to code, and custom domains attach with standard DNS plus automatic certificates.
Avoid picking a platform purely from habit or hype -- verify current build limits, function runtime needs, and framework support against your actual project.
Try the working example
function classifyDeployment(push) {
// push: { branch: string, isDefaultBranch: boolean }
if (push.isDefaultBranch) {
return "Production Deployment";
}
return "Preview Deployment";
}
const events = [
{ branch: "feature/new-pricing-page", isDefaultBranch: false },
{ branch: "main", isDefaultBranch: true },
];
for (const event of events) {
console.log(`push to "${event.branch}" -> ${classifyDeployment(event)}`);
}push to "feature/new-pricing-page" -> Preview Deployment
push to "main" -> Production Deployment5-minute try-it
For a project you're familiar with, sketch what would happen on a feature-branch push versus a main-branch push if it were deployed on a git-based platform like Vercel or Netlify. What would reviewers see before merge?
One important caution
Treating Vercel or Netlify as the official way to deploy a framework, when they're simply two of many valid hosting choices.
Assuming a platform's strengths from a year or two ago (build times, function limits, framework support) are still accurate today.
Wikipedia: Continuous deployment — Cloud Providers & Platforms